将Uislider连接到字体



可能的方法将Uislider连接到FontSize [(IBACTION)FONT1和(IBACTION)FONT2]。这是代码

.h

@interface ViewController : UIViewController
{
    IBOutlet UISlider* fontSizeSlider;
    IBOutlet UITextView* textView;
}
-(IBAction)sliderValueChanged:(UISlider*)sender;
-(IBAction)font1;
-(IBAction)font2;
@end

.m

-(IBAction)sliderValueChanged:(UISlider*)sender
{
   textView.font = [UIFont fontWithName:@"??????" size:sender.value];
}
-(IBAction)font1{
   textView.font = [UIFont fontWithName:@"Heiti TC" size:18];
}
-(IBAction)font2{
    textView.font = [UIFont fontWithName:@"Marker Felt" size:18];
}
-(IBAction)font1; //[UIButton]
-(IBAction)font1; //[UIButton]
-(IBAction)sliderValueChanged; //[UISlider]

如果我正确理解,您希望能够从两种字体中进行选择。因此,您必须将字体的名称存储在NSString中。这样的东西:

.h

@interface ViewController : UIViewController
{
    IBOutlet UISlider* fontSizeSlider;
    IBOutlet UITextView* textView;
    NSString *currentFont;
}
-(IBAction)sliderValueChanged:(UISlider*)sender;
-(IBAction)font1;
-(IBAction)font2;
@end

.m

-(void)viewDidLoad {
    [super viewDidLoad];
    currentFont = @"Heiti TC"; //Or whatever your default font is
    textView.font = [UIFont fontWithName:currentFont size:sender.value];
}
-(IBAction)sliderValueChanged:(UISlider*)sender
{
   textView.font = [UIFont fontWithName:currentFont size:sender.value];
}
-(IBAction)font1{
   currentFont = @"Heiti TC";
   textView.font = [UIFont fontWithName:currentFont size:fontSizeSlider.value];
}
-(IBAction)font2{
   currentFont = @"Marker Felt";
   textView.font = [UIFont fontWithName:currentFont size:fontSizeSlider.value];
}

如果要保留使用的字体面孔,并且在移动滑块时调整了大小,则可以抓住现有的字体实例并将其传递给fontWithSize:,以使用该实例衍生新的字体实例同一脸:

-(IBAction)sliderValueChanged:(UISlider*)sender
{
   textView.font = [textView.font fontWithSize:sender.value];
}

如果我正确理解您,您希望根据滑块的值更改字体大小。尝试根据滑块值更改字体大小:

- (IBAction)sliderChangeFontSize:(id)sender {
     textView.font = [UIFont fontWithName:@"Heiti TC" size:slider.value];
}

然后将ibaction挂在笔尖文件中的滑块上,然后选择" value更改"

时发送的事件

使用您使用的方法应起作用。唯一的问题是您将必须将滑块委托连接到视图控制器,以便您可以使用发件人值。

最新更新