0
在我加載的初始視圖控制器中,我的一個子視圖是UITextField。我還有其他主視圖子視圖(即四個標籤,一個pickerview和兩個按鈕)。當我嘗試編輯文本框時,所有其他子視圖都會右移。我不知道爲什麼會發生這種情況。即使應用編輯文本框時發生的情況,我也沒有代碼。但是,我確實有一些代碼可以對齊我所有的子視圖(包括文本框)。下面是該代碼:iPhone - 編輯UITextField將其他視圖向右移動
- (void)viewDidLoad {
[super viewDidLoad];
self.stopPickerView.dataSource = self;
self.stopPickerView.delegate = self;
[email protected]"";
self.inputField.delegate=self;
// Do any additional setup after loading the view, typically from a nib.
}
-(void)viewDidAppear:(BOOL)animated{
int width=self.view.bounds.size.width;
int height=self.view.bounds.size.height;
headingLabel.frame=CGRectMake(headingLabel.frame.origin.x, headingLabel.frame.origin.y,self.view.bounds.size.width-self.view.bounds.size.width/5, headingLabel.frame.size.height);
headingLabel.center=CGPointMake(width/2,height/9);
stopPickerView.center=CGPointMake(width/2, height/5);
setStop.center=CGPointMake(width/2, height/2.2);
orLabel.center=CGPointMake(width/2, height/1.7);
wakeUpLabelOne.frame=CGRectMake(wakeUpLabelOne.frame.origin.x, wakeUpLabelOne.frame.origin.y,self.view.bounds.size.width-self.view.bounds.size.width/2, self.view.bounds.size.height-self.view.bounds.size.height/19.2);
wakeUpLabelOne.center=CGPointMake(width/3.5, height/1.4);
NSLog(@"%f",wakeUpLabelOne.frame.size.width);
wakeUpLabelTwo.center=CGPointMake(width/1.1, height/1.4);
inputField.center=CGPointMake(width/1.5, height/1.4);
finalSetButton.center=CGPointMake(width/2, height/1.2);
[wakeUpLabelTwo adjustsFontSizeToFitWidth];
}
- (int)numberOfComponentsInPickerView:(UIPickerView *)pickerView
{
return 1;
}
- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
selectedEntry = [_pickerData objectAtIndex:row];
}
// The number of rows of data
- (int)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
{
return _pickerData.count;
}
// The data to return for the row and component (column) that's being passed in
- (NSString*)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component
{
return _pickerData[row];
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[inputField resignFirstResponder];
}
- (BOOL)textFieldShouldReturn:(UITextField *)textField {
[textField resignFirstResponder];
return NO;
}
如果您有任何想法,爲什麼發生這種情況,或者您想了解更多的信息,只要把它的意見。
你放置了哪個框架配置?請儘可能提供完整的代碼。如果你不介意我問,難道你不能僅僅使用約束來保持你的觀點一致嗎? – Teffi
@Teffi我將框架配置放在viewDidAppear塊中。我在上面添加了更多代碼(但我不確定這會有所幫助)。此外,我嘗試使用約束,但我無法讓它在所有屏幕尺寸上正常工作。十分感謝你的幫助。 – user2779450