我在UIView中有一些按鈕。我的問題是,他們在UIView的右側關閉 。我如何防止這種情況?在一個UIView內裁剪一些子視圖
alt text http://img.skitch.com/20090629-mj32p1bkff476256pwrpt69n2d.png
我已經檢查接口建設者剪輯屬性,但它是針對此問題沒有解決 。
問候
我在UIView中有一些按鈕。我的問題是,他們在UIView的右側關閉 。我如何防止這種情況?在一個UIView內裁剪一些子視圖
alt text http://img.skitch.com/20090629-mj32p1bkff476256pwrpt69n2d.png
我已經檢查接口建設者剪輯屬性,但它是針對此問題沒有解決 。
問候
肯德爾,謝謝你的回答。
這裏是我的解決方案:
if(previousFrame.origin.x + theStringSize.width > 220){
roundedButton.frame = CGRectMake(15, previousFrame.origin.y + 30 , theStringSize.width + 8, theStringSize.height);
[myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
}else {
roundedButton.frame = CGRectMake(previousFrame.origin.x + previousFrame.size.width + 5, previousFrame.origin.y, theStringSize.width + 5, theStringSize.height);
[myContainer insertSubview:roundedButton belowSubview:[tagsContainer.subviews lastObject]];
}
我算算,我已經多少像素從左側移動。在某個閾值(在我的情況下是220),我開始一個新的行。
好像不是你做編程這些按鈕,或您reiszed初始IB視圖窗口要大,並預計其向下收縮到適合屏幕。
有問題的按鈕無法放在屏幕上,因爲它們是 - 您尋找什麼效果?
如果你想讓所有的按鈕都適合你,你可以將文字大小設置得更小,然後他們可以適應。
如果你想按鈕的大小,那麼你將不得不做另一行,或將按鈕放到側滾動容器。
我一直在使用java,最近纔開始學習Apple的Obj-C框架。
滾動和斷行的替代方法是使用「1」行和「n」列的「網格」佈局,其中n是按鈕的數量。每個單元格都有固定的大小。你將不得不在你的超級視圖的setNeedsLayout:方法中調整你的按鈕(子視圖)到任何你需要的寬度,使得所有的按鈕都適合這一行。
請參閱java的GridLayout類。