2015-04-25 33 views
0

当我输入下面的代码,不被显示在滚动视图我添加文本框:的TextField不被添加到滚动型

.H

@interface FirstViewController : UIViewController <UIScrollViewDelegate> 
@property (strong, nonatomic) IBOutlet UIScrollView *scrollView; 
@property (strong, nonatomic) UITextField *firstField; 
@property (strong, nonatomic) UITextField *secondField; 
@property (strong, nonatomic) UITextField *thirdField; 

.M(viewDidLoad中)

self.firstField.placeholder = @"First"; 
self.firstField.textAlignment = NSTextAlignmentCenter; 
self.firstField.font = [UIFont fontWithName:@"Helvetica Neue Light" size:50.0]; 

self.secondField.placeholder = @"Second"; 
self.secondField.textAlignment = NSTextAlignmentCenter; 
self.secondField.font = [UIFont fontWithName:@"Helvetica Neue Light" size:50.0]; 

self.thirdField.placeholder = @"Third"; 
self.thirdField.textAlignment = NSTextAlignmentCenter; 
self.thirdField.font = [UIFont fontWithName:@"Helvetica Neue Light" size:50.0]; 

[self.scrollView addSubview:self.firstField]; 
[self.firstField autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeRight]; 
[self.firstField autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.scrollView]; 
[self.firstField autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.scrollView]; 

[self.scrollView addSubview:self.secondField]; 
[self.secondField autoPinEdge:ALEdgeLeft toEdge:ALEdgeRight ofView:self.firstField]; 
[self.secondField autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.scrollView]; 
[self.secondField autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.scrollView]; 

[self.scrollView addSubview:self.thirdField]; 
[self.thirdField autoPinEdge:ALEdgeLeft toEdge:ALEdgeRight ofView:self.secondField]; 
[self.thirdField autoPinEdgesToSuperviewEdgesWithInsets:UIEdgeInsetsZero excludingEdge:ALEdgeLeft]; 
[self.thirdField autoMatchDimension:ALDimensionWidth toDimension:ALDimensionWidth ofView:self.scrollView]; 
[self.thirdField autoMatchDimension:ALDimensionHeight toDimension:ALDimensionHeight ofView:self.scrollView]; 

self.automaticallyAdjustsScrollViewInsets = NO; 

我有self.scrollView是在一个scrollView的方式(在pageviewcontroller)。我使用PureLayout来定位文本字段,并且我非常确定我做的方式是正确的。有什么我失踪?

回答

1

是你缺少一些代码,如果你wan't添加的UITextField程序,您必须设置大小和位置你认为,这样的事情:

self.firstField.frame = CGRectMake(10, 200, 300, 40); 

我希望这会帮助你。

+0

我把这段代码放在'[self.scrollView addSubview:self.firstField]'后面,它仍然不显示。 – smecperson

0

AutoLayout与UIScrollView的工作方式稍有不同:它与其contentView而不是其框架相关。 This is explained here

默认情况下,您需要设置您的UIScrollView的contentView属性,因为它的CGSizeZero属性。然后,如果你希望你的3个UITextfields并排出现,你将不得不改变它们的宽度约束,否则它们将填充整个contentSize。