Tag: uikit

计算UITabBar的高度

我正在编写一个应用程序,使用UITabBar作为导航的一部分。 我还使用UIScrollView来呈现比屏幕通常可以处理的更多信息。 因此,我需要设置滚动视图来考虑UITabBar的高度,以便显示所有的信息。 有没有办法来计算UITabBar的height ?

防止同时触摸多个button

在iOS中是否有防止包含多个button(同胞)的UIView同时被触摸? 例如,两个并排的不重叠的button可以在两个触摸的同时被轻敲。

当iOS 7中显示工作表/提醒时,如何在自定义绘制的控件上将tintColor设置为灰色?

在iOS 7中,当呈现UIActionSheet时,系统控制所有将其tintColor为灰色的animation。 当表被解雇时,他们回生。 我有一些使用自定义背景图像或使用tint颜色的drawRect实现的控件,我希望它们像系统控件一样为这个更改设置animation。 苹果添加- (void)tintColorDidChange UIView ,但在这种方法重新绘制与新的颜色不animation的变化 – 它只是立即从全彩色切换到全灰色,这看起来不好,当其他周围的系统控制是animation。 我怎样才能使我的自定义绘制的控制animation像苹果的tintColor过渡?

UIPageViewController在iOS 6中不返回手势识别器

我正在尝试禁用UIPageViewController的平移手势识别器。 在iOS 5上,我可以遍历它们并禁用它们。 for (UIGestureRecognizer* recognizer in self.pageViewController.gestureRecognizers) { if ([recognizer isKindOfClass:[UIPanGestureRecognizer class]]) { recognizer.enabled = NO; } } 在使用UIPageViewControllerTransitionStyleScroll的iOS 6上,没有页面视图控制器返回的手势识别器。 澄清 这可以归结为: 当UIPageViewController的过渡样式设置为滚动时,self.pageViewController.gestureRecognizers = 0,所以我不能访问手势识别器。 有什么办法可以解决这个问题吗? 我不认为我做了任何错误,因为curl转换工作正常。

我可以钩入UISearchBar的清除button吗?

我的界面中有一个UISearchBar,我想定制一些文本input后出现在search栏中的小清除button的行为(这是一个带有十字的小灰圈,出现在右边search栏的旁边)。 基本上,我希望它不仅清除search栏的文本(这是默认的实现),而且还清除我的界面的其他东西,但调用我自己的方法之一。 我找不到UISearchBar类或UISearchBarDelegate协议的文档中的任何内容 – 它看起来不像你可以直接访问这种行为。 我注意到的一件事就是文档解释了委托方法: – (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText; 在清除button被点击之后被调用。 我最初编写了一些代码,检查search栏的文本属性,如果它是空的,那么它已被清除,并做我所有的其他东西。 这个虽然有两个问题: 首先,由于某种原因,我无法理解,即使我告诉search栏resignFirstResponder在我的方法结束,某处,将其设置回成为FirstResponder。 真的很烦人 其次,如果用户没有使用清除button,只需用键盘上的删除button删除栏中的文本,就会触发该方法,其search结果将消失。 不好。 任何意见或指针在正确的方向将是伟大的! 谢谢!

自定义UISegmentedControl

我如何做一个自定义的UISegmentedControl ? 我有2张图片,当段被激活时应该显示1,而如果段没有激活,则显示另一张。 我可以重写样式或东西,所以我有一个UISegmentedControl与我自己的图像作为活动/不活动的背景?

很棒的UIKit / Objective-C代码片段

Objective-C iPhone / iPod touch / iPad开发新手,但是我开始发现一些代码如下: [UIApplication sharedApplication].applicationIconBadgeNumber = 10; 这将显示在您的应用程序iPhone 10号的独特的红色通知徽章。 请在这里与iPhone / iPod touch / iPad分享您在Objective-C中最喜欢的一两行。 只有PUBLIC API 。

在iOS5中使用UISegmentedControl切换ViewController

我正在尝试一些非常简单的东西,但不知何故我无法得到它的工作。 我所要做的就是使用UISegmentedControl在2个视图控制器之间进行切换,例如您可以在Highlights选项卡的App Store应用程序中看到它。 我正在使用iOS5和故事板。 这是我的Storyboad排队: 所以我有一个根视图控制器和两个UITableViews – 这2个TableViews我想切换。 这是实现文件的样子 #import "SegmentedLocationViewController.h" #import "PastEventsLocationViewController.h" #import "FutureEventsLocationViewController.h" @interface SegmentedLocationViewController() @property (weak, nonatomic) IBOutlet UISegmentedControl *segmentedControl; @property (strong, nonatomic) NSArray *viewControllers; @end @implementation SegmentedLocationViewController @synthesize segmentedControl = _segmentedControl; @synthesize viewControllers = _viewControllers; – (IBAction)indexDidChangeForSegmentedControl:(UISegmentedControl*)segmentedControl { NSLog(@"index: %d", segmentedControl.selectedSegmentIndex); } – (void)setupViewControllers { PastEventsLocationViewController *pastEventsLocationViewController = [[PastEventsLocationViewController alloc] initWithStyle:UITableViewStylePlain]; […]

iOS:UIView的子类init或initWithFrame:?

我做了一个具有固定框架的UIView的子类。 所以,我可以重写init而不是initWithFrame: 例如: – (id)init { if ((self = [super initWithFrame:[[UIScreen mainScreen] bounds]])) { self.backgroundColor = [UIColor clearColor]; } return self; } -initWithFrame:的Xcode文档说:“如果以编程方式创build视图对象,则此方法是UIView类的指定初始值设定项。子类可以重写此方法以执行任何自定义初始化,但必须在实现开始时调用super 。 “ “指定初始值设定项”是什么意思?

自定义iOS7的UIDatePicker的文本颜色(就像邮箱一样)

我有最令人沮丧的困境。 我已经研究了上下,可以清楚地看到,苹果不希望我们篡改iOS 7.嗯,我想篡改。 而且,邮箱的团队清楚地知道如何去做并获得批准。 我试图实现的主要目标是将标签颜色更改为白色。 我的第一个想法是他们正在使用一个自定义UIPickerView只是模仿UIDatePicker,但我不认为这是事实。 我放大了一个小片段,发现了一个正常的UIDatePicker(黑色线条)的残余,并在字母“W”上加上了裁剪。 现在我已经高高在上了。 有没有一些运行时间的黑客攻击,与UIAppearance,甚至挖入一些私人的API只是为了看看这是可能的。 我接近,非常接近,但它使用了一个私人的API,如果你滚动得足够快,标签会变黑。 我完全不知道如何做到这一点,没有a)违反规则或b)花费无数小时重新实现UIDatePicker。 邮箱,告诉我你的秘密! 如果其他人有任何build议(我的意思是任何),请让我知道。 另外,这是我得到的最接近的: