我是使用约束的新手,所以我对我做错了什么并不感到惊讶,但我不知道我做了什么和/或如何解决它。
这是我使用该frame
属性的方法;它工作正常,文本视图显示:
-(void)displayFeedbackText {
feedback = [[UITextView alloc] init];
feedback.backgroundColor = [UIColor clearColor];
feedback.font = [UIFont fontWithName:@"Helvetica Neue" size:14];
NSString *t = @"If you have any problems with the" + 16; //Longest line of text view + padding.
float textWidth = [t sizeWithFont:[UIFont fontWithName:@"Helvetica Neue" size:14]].width;
float textHeight = [t sizeWithFont:[UIFont fontWithName:@"Helvetica Neue" size:14]].height;
feedback.text=@"Thank you for buying My Haiku! \nIf you have any problems with the \napp, or if you want to share any \nthoughts or suggestions, please \nemail me at joel@xxxxx.com.";
feedback.editable=NO;
feedback.frame = CGRectMake(screenWidth/2-textWidth/2, (screenHeight/2-tabBarHeight) - (textHeight*6)/2, textWidth, textHeight*6);
feedback.dataDetectorTypes=UIDataDetectorTypeAll;
[self.view addSubview:feedback];
}
这是使用约束的方法(我已设置self.view.translatesAutoresizingMaskIntoConstraints
为NO
in viewDidLoad
)。什么都没有显示:
-(void)displayFeedbackText {
feedback = [[UITextView alloc] init];
feedback.backgroundColor = [UIColor clearColor];
feedback.font = [UIFont fontWithName:@"Helvetica Neue" size:14];
feedback.text=@"Thank you for buying My Haiku! \nIf you have any problems with the \napp, or if you want to share any \nthoughts or suggestions, please \nemail me at joel@xxxxx.com.";
feedback.editable=NO;
feedback.dataDetectorTypes=UIDataDetectorTypeAll;
NSLayoutConstraint *constraintX = [NSLayoutConstraint constraintWithItem:feedback attribute:NSLayoutAttributeCenterX relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterX multiplier:1 constant:0];
NSLayoutConstraint *constraintY = [NSLayoutConstraint constraintWithItem:feedback attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:self.view attribute:NSLayoutAttributeCenterY multiplier:1 constant:0];
[self.view addConstraint:constraintX];
[self.view addConstraint:constraintY];
[self.view addSubview:feedback];
}
我做错了什么,我该如何解决?
非常感谢你的帮助。