ビュー(myView)が1つあり、myViewにテキストが表示されるため、myViewにいくつかのラベルが作成されます。myViewにpinchgesturerecognizerを適用しました。それは非常にうまくいきました。私の問題は、myViewをつまむと、ラベルのテキストのサイズが、つまむことに応じて増減するように変更されることです。myViewをつまむ(ズームインする)と、ラベルのテキストのサイズが非常に小さいため、テキストが表示されません。myViewをつまむ(ズームアウトする)と、ラベルのテキストのサイズが大きくなります。
だから私はあなたがmyViewをズームインまたはズームアウトするものは何でもラベルのテキストのサイズを修正したいと思います。試しましたが、答えが得られませんでした。私も使っていますsetAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleWidth
が、聞き取れませんでした。使い方がわかりません。私を助けてください。前もって感謝します。
私のコードは次のとおりです。
でViewController.m
、
- (void)viewDidLoad
{
MyView *myView = [[MyView alloc] initWithFrame:CGRectMake(0, 100, 200, 100)];
[self.view addSubview:myView];
[super viewDidLoad];
UIPinchGestureRecognizer *pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(scalePiece:)];
[pinchGesture setDelegate:self];
[myView addGestureRecognizer:pinchGesture];
[pinchGesture release];
}
- (void)scalePiece:(UIPinchGestureRecognizer *)gestureRecognizer
{
if ([gestureRecognizer state] == UIGestureRecognizerStateBegan || [gestureRecognizer state] == UIGestureRecognizerStateChanged) {
[gestureRecognizer view].transform = CGAffineTransformScale([[gestureRecognizer view] transform], [gestureRecognizer scale], [gestureRecognizer scale]);
//[gestureRecognizer setScale:1];
}
}
でMyView.m
、
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
label1 = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 35, 20)];
label1.font = [UIFont fontWithName:@"Helvetica-Bold" size:10];
label1.text = @"label1";
[self addSubview:label1];
label2 = [[UILabel alloc] initWithFrame:CGRectMake(40, 0, 35, 20)];
label2.font = [UIFont fontWithName:@"Helvetica-Bold" size:10];
label2.text = @"label2";
[self addSubview:label2];
label3 = [[UILabel alloc] initWithFrame:CGRectMake(0, 40, 35, 20)];
label3.font = [UIFont fontWithName:@"Helvetica-Bold" size:10];
label3.text = @"label1";
[self addSubview:label3];
label4 = [[UILabel alloc] initWithFrame:CGRectMake(40, 40, 35, 20)];
label4.font = [UIFont fontWithName:@"Helvetica-Bold" size:10];
label4.text = @"label4";
[self addSubview:label4];
}
return self;
}
label1、label2、label3、label4のテキストを修正したいと思います。