我需要知道是否有可能全局覆蓋UI類的drawRect。沿着「外觀」類屬性的行。基本上我需要爲應用程序中的所有按鈕使用我自己的繪圖例程。最好我不想繼承,並且必須在故事板中的每個按鈕上設置類的類型。是否有可能重寫沒有繼承的類的drawRect?
1
A
回答
1
使用類屬
@interface UIView (UIViewDR)
- (void)drawRect:(CGRect)rect;
@end
@implementation UIView (UIViewDR)
- (void)drawRect:(CGRect)rect { /* your implementation */ return; }
@end
你可能會使用其他類則UIView的;就像一個按鈕建立在上面的東西。
0
你看過UIAppearance嗎?我還沒有研究過解決像你以前那樣的問題,但我在谷歌上探索了一下,看起來UIAppearance似乎可以做到這一點?
+0
UIAppearance只允許您修改班級屬性。它並不像我所說的那樣讓你傷心地重寫或委託方法。 – Slappy
相關問題
- 1. 是否有可能爲類繼承
- 2. JSF 2:是否有可能繼承@ManagedBean?
- 3. 是否有可能在子類中有重疊列使用的TPH繼承?
- 4. 是有可能繼承類到@ManagedBean
- 5. 是否有可能阻止一個抽象類的繼承
- 6. 是否有可能創建一個從AVCaptureDevice繼承的類?
- 7. 是否有可能從Objective-C(Xcode/iOS)中的主類繼承?
- 8. 繼承新的基類(繼承舊的基類)是否有重大改變?
- 9. 是否有可能在編譯時防止特定基類的多重繼承?
- 10. 是否有可能使用Python元類來反轉繼承?
- 11. 是否有可能將ko.computed繼承到原型類?
- 12. android:是否有可能從MainActivity類繼承?
- 13. 類沒有繼承 - 類沒有找到
- 14. 是否有可能不繼承java中的一些私有內部類?
- 15. 繼承類是否可以重載其他繼承類的虛函數?
- 16. 沒有多重繼承且沒有代碼複製的多重繼承
- 17. 是否有可能擁有2個基類已經從繼承或知道第三個普通類繼承?
- 18. 多重繼承 - 是否有出路?
- 19. 有沒有辦法來重寫繼承的生成策略?
- 20. 角2是否有可能列出具有繼承項目
- 21. 是否有可能在JavaScript中繼承ECMAScript 6類中的舊式類?
- 22. 是否有某種方式不重複的代碼繼承類
- 23. 是否有可能在SqlDataSet中創建繼承的SqlDataTable。 Devart dotconnect
- 24. 是否有可能繼承接口的實現
- 25. 是否有可能繼承xml文件的屬性?
- 26. 是否有可能重寫default_scope在rails_admin?
- 27. 是否有可能重寫Android PackageManager :: clearAllApplicationUserData?
- 28. 是否有可能重寫PowerShell 5類中的Getter/Setter函數?
- 29. 是否有可能重寫C#中WebSecurity類中的方法?
- 30. 是否有可能在Rails中定義ActionController :: Base類的繼承的鉤子2.3.11
出於興趣,任何人都不知道這將如何對繼承做出反應。例如,如果我爲UI按鈕實現了這一點,那麼我也想說創建一個從UIButton派生的Tab按鈕,我的新TabButton的drawRect優先? – Slappy
在子類上定義的方法總是優先。如果你想要父方法,那麼你必須顯式調用[super ...](典型的例子是init:方法)。 – GoZoner