Xamarin C# 中 iOS 的 UILabel 更改屏幕中心的位置

UILabel change position in center of the screen for iOS in Xamarin C#

我想在按下按钮时以编程方式将标签位置从屏幕顶部更改为屏幕中心。

如何实现?

到目前为止我的代码:

outputMessageLabel.Frame = new CGRect(outputMessageLabel.Bounds.X, 
UIScreen.MainScreen.Bounds.Size.Height / 2, outputMessageLabel.Bounds.Width, 
outputMessageLabel.Bounds.Height);

有两种方法可以完成这个任务:

  1. 您可以设置两个标签,一个在屏幕顶部,第二个在中间。隐藏中间的那个。在按钮的动作上,隐藏最上面的一个,取消隐藏中间的一个(例如mylabel.hidden = False)。

  2. 您可以做的另一件事是以编程方式在 viewdidloadviewwillappear 中创建标签,方法是:

    if (flag == 0){
        label location at top
    } else {
       label location at middle
    }
    

然后在单击按钮时,通过 NSPostNotification.

调用您的方法 viewdidload / viewwillappear

还有第三种方式: 3. 单击按钮时,只需更改按钮的偏移量。