Tag: uiview

使UIView和子视图作为一个层而不是单独的半透明

当设置UIView的alpha(在iOS上)时,它将每个子视图设置为相同的值,但是将它们与它们各自的超级视图上的那个alpha合成。 所以子视图与他们的超级视图混合在一起。 我不想要这样的事情发生。 我希望将不透明度作为一个整体应用于UIView,而不是针对每个单独的视图。 我想实现与CSS3的不透明度相同的效果,或者在Photoshop中为一组图层应用不透明度,而不是单独应用于每个图层。 然而,复杂的是,在这个UIView是一个UITableView和其他需要交互。 而不应该有这样的观点,而是应该在这个观点背后。 我的问题是:什么是达到这个目标的最好方法? 谢谢! 亚历克

UINavigationBar上方1像素的空白区域

在横向方向上,我可以“透视”背后的一个像素(分割视图控制器,在状态栏和导航栏之间可见): 我用导航栏重新检查了最顶层视图的宽度,高度和自动大小参数,但是我无法理解差距从哪里来。

如何在UITabBarController中的两个UIViewController之间传递信息

在我的iPhone应用程序中,有两个UIViewControllers; 都embedded在UITabBarController中。 但是,当轻击TabBarController和VC的开关时,VC屏幕将数据上传到NSUserDefaults,然后切换到的VC从NSUserDefaults中获取数据。 我目前所做的是在第一个VC的viewWillDisappear中上传数据,然后在第二个VC的viewWillAppear中获取它。 问题是viewWill将要放在屏幕上的VC会在viewWill之前调用“老”VC,所以它试图获取尚未上传的数据。 我可以使用什么,所以“旧VC”是第一个知道什么时候离开屏幕,以便在新数据获取之前上传数据? *我也尝试设置一个UITabBArControllerDelegate,所以旧的VC会收到 – tabBarController:didSelectViewController:但是被调用的太迟了。

如何从故事板以编程方式延迟加载视图

在以前版本的Interface Builder中,当我想以编程方式延迟加载视图时,我会执行如下操作: self.customView = [[NSBundle mainBundle] loadNibNamed:@"CustomView" owner:nil]; 如果我理解正确,这是正确的做法。 似乎没有办法与故事板做到这一点,因为没有办法将视图添加到故事板本身(不作为视图控制器的一部分)。 我有一个视图控制器pipe理多个视图。 我不希望他们都加载在viewDidLoad,所以我宁愿不包括他们在视图控制器的笔尖。 有另一种方法吗? 如果没有,我仍然可以创buildnibs,并仍然使用loadNibNamed。 有人可以build议这是否是一个合适的策略,混合笔尖和故事板? 苹果禁止在故事板上加载这种视图的事实让我有点担心。

双击切换全屏幕动作

寻找一种方法来实现一个双屏幕“双屏幕”可逆的行动,但我没有成功! 更详细地说,有2个UIView: – topViewContainer – bottomViewContainer 当我双击超视图时,视图“bottomViewContainer”扩展为全屏,然后重新双击,视图恢复到原始大小。 它应该在纵向模式和横向模式下工作! 这是我迄今为止所做的: -(void)handleDoubleTap:(UITapGestureRecognizer *)sender { if ([[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeLeft || [[UIApplication sharedApplication] statusBarOrientation] == UIInterfaceOrientationLandscapeRight) { if (sender.numberOfTapsRequired == 2){ NSLog(@"if gesture up – LS"); [UIView animateWithDuration:0.5 delay:0.1 options:UIViewAnimationOptionBeginFromCurrentState animations:^{ topContainerView.frame = CGRectMake(0.0, -160.0, 480.0, 244.0); bottomContainerView.frame = CGRectMake(0.0, 0.0, 480.0, 300.0);} completion:^(BOOL finished){ NSLog(@"%f,%f",bottomContainerView.frame.size.width,bottomContainerView.frame.size.height); }]; […]

UIColor与模式图像和颜色背后

我想设置一些UIView元素的背景颜色。 我想用蓝色和上面的破折号图案来绘制它。 我知道我可以创build一个新的UIView作为它的孩子和绘画 [UIColor colorWithPatternImage:pattern] 但我会特别想要一个UIView ,所以得到一个具有蓝色背景和模式图像的UIColor顶部。 马尔科 编辑: 模式图像是这样的: 结果应该是:

使UIGestureRecognizer接收在子视图上开始的触摸

我附加了一个自定义的UIGestureRecognizer到一个UIView几乎填满整个屏幕。 这个视图包含一个小的子视图,它也需要接受正常的触摸。 问题:在这个子视图上开始的触摸不会被连接到其父项的识别器处理。 我希望gestureRecognizer成为第一优先级,即使子视图被触摸也可以工作。 我怎样才能将这个子视图上的所有触摸转发给它的父项,以便我的gestureRecognizer可以完成它的工作?

UIViewControllerAnimatedTransitioning:旋转改变后的黑色屏幕碎片

我创build了一个Viewcontrollertransition,只要不改变设备的方向,一切都在工作。 图1显示了它应该的屏幕。 然后我切换到下一个viewcontroller我改变方向。 现在我回到第一个viewcontroller并再次切换方向。 然后在图像2中看到结果。黑色边框出现。 请不要介意在屏幕中心的白色方块。 下面你find我的animation代码。 你能看到什么是错的? import Foundation import UIKit class ZoomOutCircleViewTransition: NSObject, UIViewControllerAnimatedTransitioning, UIViewControllerTransitioningDelegate { var hideDelayed = false var transitionContext: UIViewControllerContextTransitioning? init(hideDelayed : Bool = true) { self.hideDelayed = hideDelayed super.init() } func transitionDuration(transitionContext: UIViewControllerContextTransitioning?) -> NSTimeInterval { return 0.6 } func animateTransition(transitionContext: UIViewControllerContextTransitioning) { self.transitionContext = transitionContext guard let toViewController: […]

Swift:将一个xib添加到UIView中

我想添加一个自定义的UIView。 我的自定义视图的类定义是: class UserCoinView: UIView { @IBOutlet weak var userName: UILabel! @IBOutlet weak var coinView: UIView! @IBOutlet weak var coinAmount: UILabel! @IBOutlet weak var coinIcon: UILabel! override func drawRect(rect: CGRect) { let smartCoins = SmartShopperUtil.getSmartShopper().smartCoins if smartCoins != nil && smartCoins >= 0 { coinAmount.text = String(smartCoins!) coinView.backgroundColor = SmartShopperUtil.getSmartCoinBackgroundColor(SmartShopperUtil.getSmartShopper().smartCoins!) } userName.text = SmartShopperUtil.getSmartShopperNameWithFullName(SmartShopperUtil.getSmartShopper().name) coinIcon.text […]

无限旋转UIView,直到调用停止方法,并将视图animation回到起始点

我需要无限期地旋转一个UIView 。 但是,我需要能够停止每一个方法,因为我试图实现像一个自定义的UIActivityIndicatorView 。 视图还需要animation回到其开始旋转(0度)。 到目前为止,我一直试图实现的所有方法的问题是,我无法手动停止它(直到持续时间结束),animation不平滑或我的视图不会返回到其开始位置。 基本上,我需要的是一个animation旋转我的看法永远。 一旦我调用一个方法来停止它,它应该返回到它的起点并停止。 我已经尝试了一些修改的答案,但没有成功。