在Swift 3中,当我尝试以编程方式更改从资源加载的图像的颜色时,就像这样:
let imageView = UIImageView()
let image = UIImage(named: "imageFromAssets")?.withRenderingMode(.alwaysTemplate)
imageView.contentMode = .scaleAspectFit
imageView.tintColor = GREEN_UICOLOR // Change to custom green color
imageView.image = image
Run Code Online (Sandbox Code Playgroud)
图像显示为下方的方块:
然而,有趣的是这并不总是发生.使用资产中的其他一些图像,它可以工作并将色调更改为绿色:
为什么这里有不一致的行为?一般来说,如何将模板图像添加到资源,并能够以编程方式更改其颜色?我意识到当我不将图像更改为模板图像时它可以工作,但我不能这样做,因为我想改变图像的色调.
这里有几个类似的问题,但没有一个可以回答我的基本问题:
是否可以在钥匙串中使用两个单独的开发人员证书,在管理器中有两个相应的分发配置文件?
我拥有自己的(工作)开发人员证书和我自己的iPhone应用程序的配置文件.现在我为客户完成了一个项目,并希望使用他的开发者帐户/证书/配置文件将他的应用程序提交到他的帐户上的应用程序商店.
这甚至可能吗?
到目前为止,我下载并安装了他的证书并将其显示在我的钥匙串中,并在管理器中安装了他的配置文件,但是管理器告诉我"在您的钥匙串中找不到与此配置文件匹配的有效签名身份.".同样,存档构建失败.
我找不到告诉管理器使用我的客户端证书而不是我自己的证书的方法 - 我认为这是问题所在.
谢谢你的帮助!
iphone certificate keychain xcode-organizer ios-provisioning
我正在使用此代码在iOS上播放YouTube视频
- (void)embedYouTube:(NSString *)urlString frame:(CGRect)frame
{
NSString *htmlString = [NSString stringWithFormat:@"<html><head><meta name = \"viewport\" content = \"initial-scale = 1.0, user-scalable = yes, width = 320\"/></head><body style=\"background:#00;margin-top:0px;margin-left:0px\"><div><object width=\"320\" height=\"180\"><param name=\"movie\" value=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"></param><param name=\"wmode\" value=\"transparent\"></param><embed src=\"http://www.youtube.com/v/%@&f=gdata_videos&c=ytapi-my-clientID&d=nGF83uyVrg8eD4rfEkk22mDOl3qUImVMV6ramM\"type=\"application/x-shockwave-flash\" wmode=\"transparent\" width=\"320\" height=\"180\"></embed></object></div></body></html>", urlString, urlString];
UIWebView *videoView = [[UIWebView alloc] initWithFrame:frame];
[videoView loadHTMLString:htmlString baseURL:nil];
[self.view addSubview:videoView];
[videoView release];
}
Run Code Online (Sandbox Code Playgroud)
它有点像魅力,但我想要一个不同的行为.现在,视频的缩略图显示在webview上(很好!)但是当我点击播放图标时,它会全屏打开.我需要在同一窗口中完成播放,因为我需要显示更多内容.
如何制作的任何线索?Thansk提前
尝试iOS 7做了:
[[UINavigationBar appearance] setTranslucent:NO];
Run Code Online (Sandbox Code Playgroud)
遇到了崩溃和错误:
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** Illegal property type, c for appearance setter, _installAppearanceSwizzleForSetter:'
*** First throw call stack:
(0x16ad9b8 0x142e8b6 0x16ad7ab 0x72163d 0x724c34 0x169daca 0x169d8de 0x6c09 0x228ea9 0x2296e9 0x22ab5e 0x240a6c 0x240fd9 0x22c7d5 0x35a4906 0x35a4411 0x16293e5 0x162911b 0x1653b30 0x165310d 0x1652f3b 0x22a2b1 0x22c4eb 0x6f3d 0x1d0d725)
libc++abi.dylib: terminating with uncaught exception of type NSException
Run Code Online (Sandbox Code Playgroud)
其他通话工作正常:例如.
[[UINavigationBar appearance] setBarStyle: UIBarStyleBlack];
Run Code Online (Sandbox Code Playgroud)
当我在本地设置半透明时,它不会崩溃:
[self.navigationController.navigationBar setTranslucent:NO];
Run Code Online (Sandbox Code Playgroud)
我假设这是特定于iOS 7,但还没有在iOS 6中尝试相同的东西.
我正在尝试调试iOS模拟器(v 7.0)中的潜在问题,这需要iPad以24小时时间模式运行.显然,该选项无法在模拟器本身中进行更改,并且更改主机系统上的时间模式也无法实现.
有关进行此更改的任何建议吗?它甚至可能吗?看起来像一个非常基本的东西,但对于我的生活,我无法弄明白.
我正在尝试使用React Native启动并运行,我在Xcode中看到以下消息:
端口8081已在使用中,打包程序未运行或未正常运行
命令/ bin/sh失败,退出代码为2
我去了React Native故障排除页面并尝试终止端口8081进程,但我仍然遇到同样的问题.
这是我在Xcode中看到的截图:
任何帮助将完全赞赏.
我正在尝试使用以下内容将状态栏背景颜色填充为橙色
UINavigationBar.appearance().tintColor = UIColor.orangeColor()
UINavigationBar.appearance().barTintColor = UIColor.orangeColor()
UINavigationBar.appearance().titleTextAttributes = [NSForegroundColorAttributeName: UIColor.whiteColor()]
UIApplication.sharedApplication().setStatusBarStyle(UIStatusBarStyle.LightContent, animated: true)
Run Code Online (Sandbox Code Playgroud)
但是,我得到一个白色状态栏应该用橙色填充而不是遵循这个例子:使用swift自定义导航栏外观
我在didFinishLaunchingWithOptions方法下的AppDelegate.swift文件中进行设置,以将其应用于整个应用程序.
我已将info.plist编辑为以下内容:View controller-based status bar appearance => NO
有谁知道我做错了什么?
编辑:我不确定它是否重要,但视图是在UITabBarController中
编辑2:这实际上发生在所有视图中,而不仅仅是UITabBarController.
编辑3:谢谢@Utsav Parikh
我现在在状态栏的顶部添加一个视图,当应用程序加载状态栏时,它只是橙色但是,一旦完成加载,它就会被推到视图之外,并被替换为通用的白色状态栏.为什么会这样?
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.mainScreen().bounds.size.width, height: 20.0))
view.backgroundColor=UIColor.orangeColor()
self.window!.rootViewController!.view.addSubview(view)
Run Code Online (Sandbox Code Playgroud)
编辑Swift 3:
使用UITabBarController
let view = UIView(frame: CGRect(x: 0.0, y: 0.0, width: UIScreen.main.bounds.size.width, height: 20.0))
view.backgroundColor = .orange
self.view.addSubview(view)
Run Code Online (Sandbox Code Playgroud)
没有嵌入式控制器
我意识到有些人不仅来到状态栏,而且实际上是导航栏,所以我在学习过程中学到了一些技巧,没有任何嵌入式控制器:
在 …
1 - 我想在我的应用程序中使用LaunchScreen.storyboard
2 - 在此启动屏幕中,我需要在屏幕中央插入品牌图像
谁能帮助我?
试图找到一个解决方案来更新事件上多个UI元素的多个约束.我已经看到了一些停用,进行更改,然后重新激活约束的示例,这种方法对于我正在使用的24个锚点似乎不切实际.
我的一组变化:
ticketContainer.translatesAutoresizingMaskIntoConstraints = false
ticketContainer.topAnchor.constraintEqualToAnchor(self.topAnchor).active = true
ticketContainer.leftAnchor.constraintEqualToAnchor(self.rightAnchor, constant: 20).active = true
ticketContainer.widthAnchor.constraintEqualToConstant(200.0).active = true
ticketContainer.leftAnchor.constraintEqualToAnchor(self.leftAnchor, constant: 20).active = true
ticketContainer.widthAnchor.constraintEqualToConstant(100.0).active = true
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Cordova发布一个新的应用程序.我已经确认了证书或配置文件.我确实按照"产品" - >"存档" - >"验证"的过程,它成功,没有错误消息.最后我点击了"发布",但它仍然停留在"谈判连接......"我等了好几个小时但没有改变.
我尝试过Application Loader和Xcode 10.1,但我仍然坚持使用它们.
(我也把这个问题发给了Apple,我正在等待回复.)
ios ×8
xcode ×4
swift ×3
autolayout ×1
certificate ×1
cordova ×1
ios7 ×1
iphone ×1
keychain ×1
nsautolayout ×1
objective-c ×1
release ×1
storyboard ×1
swift3 ×1
time ×1
time-format ×1
uiappearance ×1
uiimage ×1
uiimageview ×1