gpt4 book ai didi

ios - Rubymotion:设置导航栏属性的更通用的方法

转载 作者:行者123 更新时间:2023-11-28 22:21:11 28 4
gpt4 key购买 nike

是否有更通用的方法来设置导航栏属性?我想将半透明设置为 false 并将图像设置为标题。对我来说奇怪的是,我可以在 app_delegate.rb 中设置 tintColor 和 barTintColor,但不能设置其他属性。在我所有的屏幕上运行这段代码有点奇怪。

我正在使用最新的 Rubymotion 并且正在使用促销 gem 来构建我的屏幕。

class AppDelegate < ProMotion::Delegate
include PM::Styling

def on_load(app, options)
set_appearance_defaults
end

def set_appearance_defaults
UINavigationBar.appearance.tintColor = UIColor.whiteColor
UINavigationBar.appearance.barTintColor = hex_color("3B4044")
end

end

class LoginScreen < PM::Screen

def on_init
self.navigationItem.titleView = UIImageView.alloc.initWithImage(UIImage.imageNamed("logos/navigation_bar_logo.png"))
self.navigationController.navigationBar.translucent = false
end

end

最佳答案

在上面添加了一些评论,但这里有一个实际的答案,您可以自己尝试一下,它非常灵活。

# app/mk_screen.rb
class MKScreen < PM::Screen
def useLogoNavbar
self.navigationItem.titleView = UIImageView.alloc.initWithImage(UIImage.imageNamed("logos/navigation_bar_logo.png"))
self.navigationController.navigationBar.translucent = false
end
end

# app/login_screen.rb
class LoginScreen < MKScreen
useLogoNavbar
end

现在你仍然需要调用一个方法,但它至少让你可以选择是否使用它。这也意味着您可以使用 MKScreen 为您的 View Controller 放置一些通用代码。

关于ios - Rubymotion:设置导航栏属性的更通用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20354339/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com