Objective c 使用UISlider更改笔刷大小
我正在尝试使用UISlider为我正在制作的iPad应用程序学校项目更改画笔的大小,但我不知道如何更改 我已经有一个UISlider连接到它的插座和行动 这是我的刷子大小代码Objective c 使用UISlider更改笔刷大小,objective-c,ios,cocoa-touch,ipad,core-graphics,Objective C,Ios,Cocoa Touch,Ipad,Core Graphics,我正在尝试使用UISlider为我正在制作的iPad应用程序学校项目更改画笔的大小,但我不知道如何更改 我已经有一个UISlider连接到它的插座和行动 这是我的刷子大小代码 CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound); CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 25.0); CGContextSetRGBStroke
CGContextSetLineCap(UIGraphicsGetCurrentContext(), kCGLineCapRound);
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 25.0);
CGContextSetRGBStrokeColor(UIGraphicsGetCurrentContext(), redAmt, greenAmt, blueAmt, alpha);
CGContextMoveToPoint(UIGraphicsGetCurrentContext(), endingPoint.x, endingPoint.y);
CGContextAddLineToPoint(UIGraphicsGetCurrentContext(), endingPoint.x, endingPoint.y);
CGContextStrokePath(UIGraphicsGetCurrentContext());
CGContextFlush(UIGraphicsGetCurrentContext());
touchDraw.image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
这一行:
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), 25.0);
必须是这样的:
CGContextSetLineWidth(UIGraphicsGetCurrentContext(), self.brushSizeSlider.value);
其中,
brushSizeSlider
是连接到笔刷大小滑块的IBOutlet
属性的名称。我不确定是否了解您的意思。现在您只需将线宽设置为25.0f
。为什么不在每次更改时将变量设置为UISlider
的值,并将线宽设置为该值?设置线宽即可。你能告诉我你是怎么画的吗?好了,先生,我编辑过了。这只是一个简单的绘图应用程序。当然,你也必须设置UISlider的最小值和最大值。@rob只是想说清楚,先生,IBOutlet不是iAction?因为XCode将其更改为“self->slider.value”@Cristiano,所以Ok有一个iAction方法,在更改滑块值时调用该方法。使用sender对象获取值。用于绘图。@Cristiano:您应该将IBOutlet
宏放在属性上(如@property(弱)IBOutlet UISlider*brushSizeSlider;
),而不是实例变量上。然后,在其他优势中,您可以控制您是否拥有(strong
)或不拥有(strong
)门店的价值。《资源规划指南》为门店的所有权政策提供了指导。与其每次都向滑块询问线宽,不如这样做。使用视图作为值的主存储是一种反模式。