亲爱的程序员。 目前我的字符串已加载,并且使用数据库中的这些标题创建了5个按钮。 然而,这些按钮在iOS应用程序中不可见。 我错过了什么 我正在使用Xamarin.iOS和c#
提前致谢
using Foundation;
using UIKit;
using System.CodeDom.Compiler;
using System.Drawing;
using Ola.ServiceClients;
using System.Threading.Tasks;
using PortableRest;
using Ola.Shared.Models;
using System.Net.Http;
using System.Net.Http.Headers;
namespace Ola.iOS
{
partial class NavigationViewController : UIViewController
{
//private MenuItem[] menuItems;
private MenuItem[] drawerItems;
public string token = "";
public NavigationViewController(IntPtr handle)
: base(handle)
{
}
public override void ViewDidLoad()
{
base.ViewDidLoad();
LoadMenu();
}
public async void LoadMenu()
{
RestResponse<MenuItem[]> response = await NavigationClient.Current.GetMenu(token);
//HttpResponseHeaders responseHeaders = response.HttpResponseMessage.Headers;
//HttpRequestMessage requestMessage = response.HttpResponseMessage.RequestMessage;
if (response != null && response.Content != null && response.Content.Length > 0)
{
//menuItems = response.Content;
for (int i = 0; i < response.Content.Length; i++)
{
UIButton button = UIButton.FromType(UIButtonType.RoundedRect);
button.SetTitle(response.Content[i].Text, UIControlState.Normal);
this.Add(button);
System.Console.WriteLine("Button created");
}
System.Console.WriteLine();
}
}
}
}
问候 戴夫
答案 0 :(得分:0)
添加以下代码以显示您的按钮:
this.View.AddSubview(button);
而不是:
this.Add(button);
答案 1 :(得分:0)
确保您正在设置button.Frame
属性,向父视图添加按钮,并且您应该尝试将背景颜色设置为默认为透明。
编辑
我我不确定这会有什么不同,但尝试以不同的方式创建按钮ei
var button = new UIButton(new RectangleF());
我还有一件事我想到的可能是透明度,确保父视图和按钮做没有alpha设置为0
编辑2
还有一件事!尝试通过在InvokeOnMainThread(() =>
{
this.View.AddSubview(button);
});
中调用按钮来添加按钮来进行包裹调用
方法!