UIView'nin içinde bir çocuk UIView (beyaz kutu) ayarlamak için aşağıdaki kodu kullandım.Bir üst kullanıcı arayüzünün içindeki uiview boyutunun nasıl ayarlanacağı?
float x = 10.0;
float y = 40.0;
float w = self.view.frame.size.width - 20.0f;
float h = self.view.frame.size.height/3.0;
UIView *whiteBox = [[UIView alloc] initWithFrame:CGRectMake(x, y, w, h)];
Temelde, ebeveyn UIView her iki kenar boşluklarına 10 piksel olan beyaz kutu çizmek istiyorum. Ancak, beyaz kutunun sağ tarafı her zaman ana görünümün sınırının ötesindedir. Self.view.frame.size.width'in gerçek görünümün genişliğinden daha büyük olduğu anlaşılıyor. Iphone5S'yi simülatör olarak kullanıyorum. Sadece beyaz kutunun doğru genişliğini nasıl ayarlayacağımı bilmek istiyorum.
Genişlik 600'dür ve ViewDidLoad yöntemindedir. Evet, daha önce yaptığım film şeridindeki otomatik düzeni kullanabilirim. Bunu kodda nasıl başaracağımı merak ediyorum. Tabii ki, hala otomatik düzeni kısıtlamaları programlamada kullanabilirim. Sadece uiview'in çerçeve genişliğinin mevcut simülatör (Iphone5S) için doğru olmadığına benzediğini bilmek istiyorum. – mmjuns
'ViewDidLoad' sizin sorununuz. Bu yöntemden sonra çerçeve ayarlanmamış. "ViewWillAppear:" veya "ViewDIdAppear:" öğelerine taşımaya çalışın. Bkz. Http://stackoverflow.com/questions/6757018/why-am-i-having-to-manually-set-my-views-frame-in-viewdidload Daha fazla bilgi. –