2013-04-29 5 views
0

Я знаю, что есть несколько вопросов относительно размещения изображений и текста в кнопках, но я все еще не могу заставить его работать. Я хочу, чтобы заголовок отображался под изображением. Если изображение отсутствует, заголовок отображает то, что я ожидаю. Однако, если есть изображение, заголовок не отображается.UIButton с изображением и текстом

Код вставляется ниже. Завтра я могу попробовать подклассифицировать UIButton и настроить подзоны, но этот должен работать. Я думаю. Вы видите, почему это не так?

Заранее благодарен!

private static float h = 200.0f; 
private static float w = 200.0f; 
private static float padding = 10.0f; 
private static float textheight = 20f; 

for (int i=0; i<numPlants; i++) 
{ 
    var button = UIButton.FromType (UIButtonType.RoundedRect); 
    button.Frame = new RectangleF (padding * (i + 1) + (i * w), 
            padding, w, (h + textheight + 2)); 
    UIImage img = _group.Plants[i].GetImage(); 
    if (img != null) 
    { 
     button.SetImage(img, UIControlState.Normal); 
     button.ImageEdgeInsets = new UIEdgeInsets(0.0f, 0.0f, (textheight + 20), 0.0f); 
    } 

    button.TitleEdgeInsets = new UIEdgeInsets((h+2), 0.0f, 0.0f, 0.0f); 
    button.SetTitleColor(UIColor.Black, UIControlState.Normal);    
    button.SetTitle(_group.Plants[i].Pltnme, UIControlState.Normal); 

    plantScrollView.AddSubview (button); 

    Plant plt = _group.Plants[i]; 
    button.TouchUpInside += (sender, e) => { 
     _navController.PushViewController(new SecondViewController(plt), true); 
    }; 
} 

ответ

0

Вы пытались использовать XIB или раскадровку, а затем добавляли UIImageView и Label для создания того, что вы хотите? Я чувствую, что это будет намного проще, чем его кодирование.

+0

Спасибо за идею! Я тоже могу это сделать. Я все еще использую версию indie, поэтому я стараюсь, чтобы код был настолько мал, насколько это было возможно по-человечески. Другая проблема с этим методом заключается в том, что мне по-прежнему нужна функциональность кнопки, поэтому мне нужно будет поставить прозрачную кнопку поверх нее. Читая, как другие люди реализовали такую ​​функциональность, этот метод выглядел так, как будто это было бы проще всего. –

Смежные вопросы