IOS drawrect方法小問題
今天在專案中用drawRect畫了一個三角型用於標示section是否摺疊,如下圖
當摺疊的時候會有一個rotation的動畫,旋轉後三角位置大小都發生了改變
override func drawRect(rect: CGRect) {
// Drawing code
//UIRectFill(self.bounds)
let context = UIGraphicsGetCurrentContext()
CGContextSetRGBStrokeColor(context,253,182,13,1);
CGContextSetLineWidth(context, 0);
CGContextBeginPath(context)
//設定起點
CGContextMoveToPoint(context, 0, 0)
CGContextAddLineToPoint(context, self.frame.size.width, 0)
CGContextAddLineToPoint(context, self.frame.size.width, self.frame.size.width)
//結束路徑
CGContextClosePath(context)
CGContextSetFillColorWithColor(context, UIColor.RedColor().CGColor)
CGContextDrawPath(context, CGPathDrawingMode.FillStroke)
}
後來斷點發現在cell重新整理section的時候重新呼叫了三角形的drawRect方法,而我在drawRect(rect: CGRect)方法中用了self.frame而不是用他的rect,後來改成rect後顯示都正常了,猜測是在呼叫下面旋轉時view的相對座標發生了轉換,不能用view自己的frame,要使用drawRect(rect: CGRect)中的rect
self.triangleView.transform = CGAffineTransformMakeRotation(degree)
相關文章
- iOS 重繪之drawRectiOS
- 微信小程式中的iOS相容性問題微信小程式iOS
- iOS 面試問題iOS面試
- iOS 靜態庫-因為CPU架構引起的小問題iOS架構
- ios XCUIElement 元素定位問題iOSUI
- 小程式問題
- IOS margin-bottom失效問題iOS
- iOS 問題整理04----RuntimeiOS
- iOS問題整理03----CategoryiOSGo
- iOS浮點數精度問題iOS
- ios 基礎問題記錄iOS
- 探究 iOS 記憶體問題iOS記憶體
- Appium 的 ios 中 webview 問題APPiOSWebView
- 小問題集錦
- 一個小問題
- IOS面試經常被問到的問題iOS面試
- 小程式自定義音訊元件,帶滾動條,IOS迴圈失效問題音訊元件iOS
- iOS相關 | Xcode8 ---- iOS 9.2 崩潰問題iOSXCode
- iOS 越獄後碰到的問題iOS
- ios8系統定位問題iOS
- Git clone 的小問題Git
- Hbase問題小結(一)
- ios微信小程式 BLE藍芽通訊開發介面UI卡頓問題iOS微信小程式藍芽UI
- Java基礎、jvm 程式碼塊和構造方法的小問題JavaJVM構造方法
- 一個毫無道理的iOS問題iOS
- iOS11適配遇到的問題iOS
- Hbuilder打包IOS關於定位描述問題UIiOS
- iOS問題整理08----效能優化iOS優化
- Xcode11 iOS for MAC 遇到的問題XCodeiOSMac
- 兩個小問題深入淺出List的效能問題
- 專案實戰小問題:
- [20181206]toad 12小問題.txt
- 大端和小端的問題
- 關於DrawerLayout的小問題
- 記錄一個小問題
- Unity之掛載小問題Unity
- SSM實戰教程(小問題)SSM
- Flutter使用TabBar問題小結FluttertabBar
- WKWebView的Cookie問題小記WebViewCookie