2012-07-24 60 views
1

我有一個奇怪的問題,在UIToolbar控件中按下UIBarButtonItem時出現輝光。當我將ImageInsets屬性設置爲4,0,0,0時,每次點擊它時發光都會變小。這裏有一個例子:如果我不設置imageInsetsUIBarButtonItem - 無效的挖掘輝光大小

Tap glow problem

的問題不會出現。該問題出現在UIToolbar中的所有按鈕。我沒有水龍頭處理程序。製作更大的插圖(例如8,0,0,0)可以更快地產生相同的結果。

我很感激任何關於如何解決問題的建議。

編輯:將代碼更改爲Objective-C,因爲問題在沒有MonoTouch的情況下也會重現。

它是默認的單個視圖項目。我使用故事板設計器添加了一個工具欄和一個UIBarButtonItem。創建了按鈕的出口。

#import "ViewController.h" 

@implementation ViewController 
@synthesize testBtn; 

#pragma mark - View lifecycle 

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 

    UIEdgeInsets insets = UIEdgeInsetsMake(8, 0, 0, 0); 
    [testBtn setImageInsets:insets]; 
} 

- (void)viewDidUnload 
{ 
    [self setTestBtn:nil]; 
    [super viewDidUnload]; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown); 
} 

@end 

回答

0

最後,我要求設計師調整圖像大小,從而擺脫imageSize屬性的使用。

0

很難看出沒有代碼的問題是什麼。你介意發佈代碼的相關部分嗎?我認爲這與你反覆增加頂部插值4有關......我會在看到相關代碼後編輯我的答案。

編輯:所以我不熟悉Monotouch ...和從你粘貼的代碼我假設構造函數確實被調用一次。我在考慮Monotouch框架中可能存在一個錯誤,它會導致每次點擊該按鈕時,圖像將被移動指定的量(向下4)。我會檢查以下順序:

  1. 綁定到按鈕的委託方法沒有指向構造函數。
  2. 將插入內容更改爲(8,0,0,0),並在5次水龍頭中看到與上述(10x)相同的圖像。如果是這樣,它可能是monoouch框架的問題,或者你如何連接你的委託方法。

對不起,但我不熟悉單點觸摸,所以我不能提供更多的幫助。除非你被禁止使用Monotouch,否則我會強烈建議你學習本地的Objective-C和本地編程,以避免像這樣的小缺陷和頭痛。 Objective-C和iOS SDK非常優雅。

+0

使用Objective-C在XCode中創建應用程序時會發生同樣的情況。是的(8,0,0,0)使輝光更快地崩潰。沒有代表附加。 – 2012-07-24 08:37:39

+0

請公開其餘的Obj-c代碼。 – Stunner 2012-07-24 08:51:38

+0

它是默認的單一視圖項目。我使用故事板設計器添加了一個工具欄和一個UIBarButtonItem。創建了按鈕的出口。方法在問題主體中,因爲網站不允許我在這裏發佈它。 – 2012-07-24 08:56:19