幾乎沒有在用UITableViewController的我卡住了,真不曉得為何一定要用UITableViewController?因為它限制太大,其實可以由UIViewController所取代。因為table view固定整個畫面,要設定其frame就不太容易,想要加上客製view也真是難⋯⋯
因為是拿他人寫好的專案來改,他用storyboard做好一切會員有關的頁面,前後流程都已經確定,甚至此頁面的class是繼承他自己定義好的基礎class,所以我才不會想要大費周章從UITableViewController搬到UIViewController!
找了網路許多解法,儘管有人成功加入客製視圖,但是我運行到一半會crash(因為繼承基礎class有複雜的邏輯判斷),不想要花時間不怎麼相干的debug,所以我最後找到高層級的做法⋯⋯
/** Theme: UITableViewController add Subview IDE: Xcode 7 Language: Objective C Date: 104/10/23 Author: HappyMan Blog: https://cg2010studio.wordpress.com/ */ - (void)viewDidLoad { [[[UIApplication sharedApplication].delegate window] addSubview:actionButton]; } -(void)viewWillDisappear:(BOOL)animated { [actionButton removeFromSuperview]; [super viewWillDisappear:animated]; }
我紅色那個按鈕叫做actionButton,運行結果就是會固定在螢幕最下方,它不歸此頁面所管轄,所以離開此頁面要在viewWillDisappear中設定移除喔!
簡單替代方案解決!
參考:UITableviewController如何addsubview、UITableViewController怎麼樣添加一個固定的不能滾動的頂部和底部視圖?。
Comments on: "[iOS] UITableViewController加上客製視圖" (6)
這方法我試過
可是你這樣 actionButton 就不會隨著 view controller 左右滑動了 (Push animation)
還是你有其他方法?
讚讚
我有用UIView animation這類method去做動畫,目前是設定:
進入時alpha從0變為1
離開時alpha從1變為0
至於秒數可以自行決定恰當的時間。
你的需求是客製化view跟著該畫面移動,那麼可以設定frame或center來做動畫。
觸發的關鍵時機點為四個:
viewWillAppear
viewDidAppear
viewWillDisappear
viewDidDisappear
試試看動畫效果。
讚讚
謝謝你的建議
我之前也是設定 frame 來做到相似的特效
只是感覺應該有更簡潔的做法
UITableViewController 真的很多限制
讚讚
哈~其實我沒用過UITableViewController來刻畫面,因為UIViewController可以做到同樣的效果,而且更有彈性,所以一直以來都是使用後者!只是上一位開發者以為該畫面不會改變介面,所以就使用前者。
很好奇你的名字,真的是李大仁?還是綽號?想必你已經擁有程又青了吧XD~
所有女藝人中我最喜歡林依晨了~ 😀
讚讚
李大仁是我的藝名XD
程又青被丁立威搶走了!!!
我也最喜歡林依晨了 可惜他已婚了
之所以會用 UITableViewController , 是因為想用 static cell ,
因為我要實作的那個 table view , 每一個 cell 都完全不一樣 ,
只能無奈使用了…..
讚讚
我都這麼做:
客製化TableViewCell (Custom TableViewCell)
林依晨結婚滿一週年了呢~ 😀
不過他們夫妻聚少離多,要能維持可真不簡單呢!
讚讚