我一直在使用我的導航欄的動畫確定子視圖的alpha值時遇到一些麻煩。這裏是酒吧的初始狀態:iOS - 如何使導航欄的子視圖透明?
這裏多遠我纔拿到現在:
的事情是,我需要做這一切的「明星」 ,「新」和其他圓形按鈕透明時,搜索是積極的(我需要減少他們的α爲零)。我試圖讓他們在委託的下列方法透明:
- (void)searchBarCancelButtonClicked:(UISearchBar *)asearchBar
- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
在所有這些我做了很多相同的代碼:
//parent is just a pointer of a search delegate, which points to view controller
for (UIView * someViewToFade in parent.navigationController.navigationBar.subviews) {
if (someViewToFade.tag == 88 || someViewToFade.tag == 11) {
NSLog("someViewToFade.alpha before changes = %f", someViewToFade.alpha);
someViewToFade.alpha = 0.0; //or 1.0, depending on the method
}
}
但是,我不能達到預期的效果這樣,儘管我在該NSLog中獲得了正確的alpha值,但按鈕並沒有完全消失。有什麼我可能做錯的建議嗎?
編輯1:
我想我應該在我的情況下添加視圖層次的一些描述。那麼,我有UISegmentedConrol,它擁有這些圓形按鈕,還有兩個UIImageViews,分段控制的背景和三角形指針。所有這些視圖都會作爲子視圖添加到導航欄中。此外還有一個矩形視圖,它包含搜索欄,並且稍後還將其作爲子視圖添加到導航欄中,因此它是層次結構中的頂層視圖。另外,我只是通過動畫製作其超級視圖的框架(擴展或縮小它,當以上事件發生在代表中時)來動畫化我的搜索欄。我希望我已經提供了所有必要的信息。
你只想要按鈕還是UISearch Bar呢? – iPatel 2013-03-26 19:30:44
只需使用覆蓋整個場景的自定義UITextField。 – 2013-03-26 19:36:29
我希望按鈕在搜索欄未激活時處於活動狀態,並且當搜索欄處於活動狀態時,我希望按鈕不可見。 – morgan1189 2013-03-26 19:40:22