2012-12-24 3 views
0

가능한 방법은 fontSize [(IBAction) font1 및 (IBAction) font2]에 UISlider를 연결하는 것입니다. 이 코드fontSize에 UISlider를 연결하십시오.

.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] 
+0

, 첫 번째 사람이 잘 작동합니다. 'UISlider'의 최대 값과 최소값을 정의 했습니까? 정확히 무슨 문제가 있습니까? – sooper

답변

1

정확하게 이해하면 두 가지 글꼴 중에서 선택할 수 있기를 원합니다. 따라서 글꼴 이름을 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]; 
} 
+0

감사합니다. 당신은 훌륭합니다. 성공 :) – ak19

+0

더 간단한 접근 방법에 대한 내 대답을 참조하십시오. – warrenm

0

내가 제대로 슬라이더의 값이 무엇인지에 따라 글꼴 크기를 변경하고자하는 당신을 이해하고있는 경우이다. nib 파일의 슬라이더에 IBAction를 후크 다음

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

또는 "값이 변경"로 보낸 이벤트를 선택 : 슬라이더 값을 기준으로 글꼴 크기를 변경하는 아웃이 코드를 사용해보십시오

사용중인 방법을 사용해야합니다. 유일한 문제는 보낸 사람 값을 사용할 수 있도록 슬라이더 대리자를 View Controller에 연결해야한다는 것입니다. 당신이 사용하고, 슬라이더를 이동할 때 그냥 크기를 조정되는 글꼴을 유지하려면

+0

[UIFont fontWithName : @ "Heiti TC"크기 : slider.value]; (IBAction) font1 및 (IBAction) font2 – ak19

+0

슬라이더를 움직일 때마다 두 글꼴을 변경할 수 있기를 원하십니까? – Zack

1

, 기존 글꼴 인스턴스를 잡고 같은 얼굴로 새로운 글꼴 인스턴스를 도출하기 위해 fontWithSize:을 전달할 수 :

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

+1 내 대답이 훨씬 낫다. – sooper

관련 문제