2014-10-09 56 views
1

我試圖把圖像內使用Xamarin iOS和圖像確實顯示確定,但我無法弄清楚如何把圖像左側的邊緣,因爲它堅持到文本區域的左邊緣。以下是代碼和結果。我在這裏錯過了什麼?左邊緣文本字段爲UIUI

var imageView = new UIImageView(UIImage.FromBundle("xyz.png")) 
     { 
      Frame = new RectangleF(1,1,20,20); 
     }; 
     Tf1.LeftViewMode = UITextFieldViewMode.Always; 
     Tf1.LeftView = imageView; 

Result of uiimage

+0

如果更改的ImageView幀的X分量會發生什麼? – Jason 2014-10-09 22:44:36

+0

更改X組件沒有任何影響,我假設它會像x,y座標但不是:-( – neoms21 2014-10-10 22:09:39

回答

3

你可以做到以下幾點,讓你正在尋找通過創建另一個的UIView實現壓痕,並與偏移,比如放置在的UIImageView這個現有的的UIView內在下面的例子中: -

var imageView = new UIImageView(UIImage.FromBundle("xyz.png")) 
{ 
    // Indent it 10 pixels from the left. 
    Frame = new RectangleF(10,0,20,20) 
}; 

UIView objLeftView = new UIView(new Rectangle(0,0,30,20)); 
ojLeftView.AddSubview(imageView); 

然後就的UITextField設置LeftView這樣: -

objUITextField.LeftViewMode = UITextFieldViewMode.Always; 
objUITextField.LeftView = objLeftView; 
+0

我曾嘗試將左縮進但未放置新的子視圖,我會嘗試讓知道 – neoms21 2014-10-10 06:58:34

+0

我曾嘗試過各種各樣的嘗試,甚至使用LeftViewRect和Frame以及其他各種方法來嘗試這些工作,從我所知道的情況來看,當我四處看時,有很多不同的答案,每個答案都有不同程度的成功但最終用戶似乎也反映出操作系統版本對所使用的方法有一定的依賴性,至少這種方法可以在IOS 8上運行。如果它不適合你,請讓我知道你的操作系統版本我會再看看,我很肯定這種方法可以工作,但它是唯一一個我們正在顯示的UIView。 – Pete 2014-10-10 09:11:00

+0

它適用於Pete。謝謝! – neoms21 2014-10-10 22:07:12