che*_*ana 3 xcode xamarin.ios ios xamarin
我是Xamarin iOS Designer的新手,我正在尝试设置状态栏和导航控制器背景颜色,如下例所示:https://www.youtube.com/watch?v = DApI7aWGNiY
我在Xcode Interface Builder中打开了我的主要故事板,并按照教程中的步骤向appDelegate.m添加代码.代码如下:
#import "AppDelegate.h"
#define UIColorFromRGB(rgbValue) [UIColor colorWithRed:((float)((rgbValue & 0xFF0000) >> 16))/255.0 green:((float)((rgbValue & 0xFF00) >> 8))/255.0 blue:((float)(rgbValue & 0xFF))/255.0 alpha:1.0]
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UINavigationBar appearance] setBarTintColor:UIColorFromRGB(0x067AB5)];
return YES;
}
@end
Run Code Online (Sandbox Code Playgroud)
以上似乎不起作用 - 当我在Xamarin中保存和构建时,状态和导航栏仍然是灰色的.
我想知道为什么以及它是否与项目是在Xamarin而不是Xcode中创建的事实有关.我的.m文件与示例不同,它位于"支持文件"文件夹中,并且不包含任何自动生成的代码.在Xcode Interface Builder上似乎有更好的文档,这就是我使用它而不是新的Xamarin iOS Designer的原因.
Xamarin Studio 5.1.3和Xcode 5.1.1有什么提示吗?谢谢!
**更新:通过添加此功能,可以在状态和导航栏上实现背景颜色更改.NavigationController.NavigationBar.BarTintColor = UIColor.Yellow; 紧接着我的viewcontroller.cs base.ViewDidLoad ();.仍然想知道为什么代码添加到Xcode项目.m文件不会在Xamarin构建中呈现.
Nic*_*ers 15
如果要在整个iOS应用中更改导航栏颜色,请将其添加到AppDelegate FinishedLaunching方法中:
UINavigationBar.Appearance.BarTintColor = UIColor.YourColor;
Run Code Online (Sandbox Code Playgroud)
您还可以通过执行以下操作来编辑导航栏的文本属性:
UINavigationBar.Appearance.SetTitleTextAttributes(new UITextAttributes { TextColor = UIColor.White });
Run Code Online (Sandbox Code Playgroud)
至于状态栏,如果要将状态栏图标更改为白色而不是默认黑色,例如,为导航控制器创建一个类并覆盖UIStatusBarStyle
public override UIStatusBarStyle PreferredStatusBarStyle ()
{
return UIStatusBarStyle.LightContent;
}
Run Code Online (Sandbox Code Playgroud)
这适用于您的NavigationController及其任何子控制器.
我终于让它在Xamarin Forms中工作,所以在博客上发表了这篇文章,详见http://morganskinner.blogspot.co.uk/2015/01/xamarin-forms-light-status-bar-for-ios.html.我还有一个关于为导航栏设置背景图像的后续帖子,并让它也适用于Landscape - 请参阅http://morganskinner.blogspot.co.uk/2015/01/xamarin-formsusing-background-images-on .html.希望这有助于其他人!
| 归档时间: |
|
| 查看次数: |
16349 次 |
| 最近记录: |