- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
如果有人想知道如何更改 UIDatePicker(围绕实际微调器的部分)的背景颜色,请参阅下面我的回答。
最佳答案
要设置您想要的颜色,只需更改 createCover
方法以将 cover
设置为您想要的任何颜色。
//CustomizableDatePicker.m
#import "CustomizableDatePicker.h"
#import <QuartzCore/QuartzCore.h>
#define TOP_HEIGHT 9.7f
#define BOTTOM_HEIGHT TOP_HEIGHT
#define DATE_AND_TIME_MODE_ACTUAL_PICKER_WIDTH 302.5f
#define DATE_MODE_ACTUAL_PICKER_WIDTH 280.0f
#define TIME_MODE_ACTUAL_PICKER_WIDTH 176.0f
@interface CustomizableDatePicker()
@property (nonatomic, weak) UIView *myLeftCover;
@property (nonatomic, weak) UIView *myRightCover;
@property (nonatomic, weak) UIView *myTopCover;
@property (nonatomic, weak) UIView *myBottomCover;
@end
@implementation CustomizableDatePicker
@synthesize myLeftCover = _myLeftCover, myRightCover = _myRightCover, myTopCover = _myTopCover, myBottomCover = _myBottomCover;
- (void) setDatePickerMode:(UIDatePickerMode)datePickerMode
{
[super setDatePickerMode:datePickerMode];
[self setNeedsLayout];
}
- (void) awakeFromNib
{
[self addCoverViews];
self.layer.cornerRadius = 10;
self.clipsToBounds = YES;
[self setNeedsLayout];
[self setNeedsDisplay];
}
- (id) init
{
if(self = [super init])
{
[self addCoverViews];
self.layer.cornerRadius = 10;
self.clipsToBounds = YES;
[self setNeedsLayout];
[self setNeedsDisplay];
}
return self;
}
/*
* Creates, but does NOT set the frames of, the 4 covers
*/
- (void) addCoverViews
{
UIView *left = [self createCover];
self.myLeftCover = left;
[self addSubview:left];
UIView *right = [self createCover];
self.myRightCover = right;
[self addSubview:right];
UIView *top = [self createCover];
self.myTopCover = top;
[self addSubview:top];
UIView *bottom = [self createCover];
self.myBottomCover = bottom;
[self addSubview:bottom];
}
/*
* Helper function to create one cover
*/
- (UIView *) createCover;
{
UIView *cover = [[UIView alloc] init];
cover.backgroundColor = [UIColor whiteColor];
cover.alpha = .55;
return cover;
}
- (void) layoutSubviews
{
float pickerWidth;
if(self.datePickerMode == UIDatePickerModeDateAndTime)
{
pickerWidth = DATE_AND_TIME_MODE_ACTUAL_PICKER_WIDTH;
}
else if(self.datePickerMode == UIDatePickerModeDate)
{
pickerWidth = DATE_MODE_ACTUAL_PICKER_WIDTH;
}
else if(self.datePickerMode == UIDatePickerModeTime)
{
pickerWidth = TIME_MODE_ACTUAL_PICKER_WIDTH;
}
// Set left frame
{
float xOrigin = 0;
float yOrigin = TOP_HEIGHT;
float width = (self.frame.size.width - pickerWidth) / 2;
float height = self.frame.size.height - TOP_HEIGHT - BOTTOM_HEIGHT ;
self.myLeftCover.frame = CGRectMake(xOrigin, yOrigin, width, height);
}
// Set top frame
{
float xOrigin = 0;
float yOrigin = 0;
float width = self.frame.size.width;
float height = TOP_HEIGHT;
self.myTopCover.frame = CGRectMake(xOrigin, yOrigin, width, height);
}
// Set right frame
{
float xOrigin = (self.frame.size.width - pickerWidth) / 2 + pickerWidth;
float yOrigin = TOP_HEIGHT;
float width = (self.frame.size.width - pickerWidth) / 2;
float height = self.frame.size.height - TOP_HEIGHT - BOTTOM_HEIGHT ;
self.myRightCover.frame = CGRectMake(xOrigin, yOrigin, width, height);
}
// Set bottom frame
{
float xOrigin = 0;
float yOrigin = self.frame.size.height - BOTTOM_HEIGHT;
float width = self.frame.size.width;
float height = BOTTOM_HEIGHT;
self.myBottomCover.frame = CGRectMake(xOrigin, yOrigin, width, height);
}
}
@end
//CustomizableDatePicker.h
#import <UIKit/UIKit.h>
/*
* Allows for changing the color of UIDatePickers...Pretty useful, huh? :)
*/
@interface CustomizableDatePicker : UIDatePicker
@end
关于objective-c - 如何更改 UIDatePicker 的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11905078/
我正在制作一个 iPhone 应用程序,我在其中使用 UIDatePicker 并在操作表中显示选定的时间。在操作表中,时间以 10 分钟的间隔显示。当我滚动 Datepicker 时, textfi
这是我第一次尝试 Swift 或 iPhone 应用程序,所以不用说,我现在不确定如何做很多事情。 现在我有一个带有文本字段和按钮的 View Controller 。我设法找到了几乎可以完成我需要的
我目前正在尝试弄清楚如何使用 ( .wheels) 将代码从 iOS 13 UIDatePicker 更改为 iOS 14 版本。您将在下方找到带有无法正常运行的日期选择器的应用程序屏幕截图和代码屏幕
我有 2 个 UITextField 调用同一个 UIDatePicker,如何让 UIDatePicker 知道在文本字段中设置所选日期时调用哪一个 UITextField? 最佳答案 您可以在这些
我需要显示一个带有 uidatepicker 的 View ..我尝试使用presentModalViewcontroller,但使用uidatepicker正确显示了我的新 View Control
iPhone UI 组件 UI DatePicker 不支持横向模式?仅在横向模式下它会抓取 2/3 的宽度。 如何让它用完全宽(480px)? 最佳答案 尝试手动重新/设置 UIDatePicker
我将 UIDatePicker 添加为 UITextField 的输入 View UIDatePicker *oBirth; NSDateFormatter *dateFormat; _edit
我在 UILabel 中有一个日期(例如“2010 年 12 月 14 日”)。我想将此日期设置为我的 UIDatepicker 的最小日期。我该如何做到这一点,请回复? 谢谢尼尚特 最佳答案 使用
我正在尝试构建一个日期选择器,其中今天为最小日期,2011 年 2 月 1 日为最大日期。 我已设置最短日期如下 [picker setMinimumDate: [NSDate date]]; 这工作
我在 iphone 日期选择器中遇到本地化问题。我希望日期选择器仅以英语显示日期,但现在它需要在 iphone 设置中设置为区域的语言。我尝试了各种没有用的方法像下面这样。 在 uidatepicke
我很茫然。我有一个 NSDate 传递给 UIDatePicker。当我设置为东部时区时,一切都很好。 当我设置为“中部”时,日期选择器显示的时间晚了 1 小时。 所以,如果我打开 NSLogs,这就
我想要一个 UIDatePicker,用户可以在其中选择月份和日期,但不能选择年份。我知道闰年多了一天,所以为了简单起见,我们把这一天扔掉。 是否有任何方法可以删除年份列或有 2 个带有月/日的卷轴,
有没有办法将 UIDatepicker 设置为分钟和秒与小时和分钟 编辑我最终添加了自己的 UIPicker 类,并自己创建了值和标签。 最佳答案 我认为 SDK 中没有任何内置方法可以执行此操作。尝
我在我的应用程序中创建了一个 UIDatePicker,并且还支持多种语言。我的 UIDatePicker 是在 Interface Builder 中创建的,并且我创建了一个单独的本地化 XIB,以
我在 View 中放置了一个 UIDatePicker,UIDatePicker 没有正确响应触摸 - 只有最右边的列/滚轮滚动 UIDatePicker 中的所有触摸。这与 View 中发生触摸的位
我有一个非常奇怪和令人困惑的问题。我找不到任何关于它的信息,它似乎是 Apple 的一个错误,但如果有人对如何解决这个问题有建议,那将会很有帮助。某些日期使用 UIDatePicker 将年份加 1,
在我的应用程序中,当用户单击 UITextField 时,应该会弹出 UIDatePicker。但是,它没有弹出。当我运行它时,它只显示“选择日期!”在行动表上,没有别的。 这是我的 ViewCont
我有一个 UIDatePicker,我希望将最小和最大日期范围设置为本周的星期四到星期三之间,我该如何设置?选择器日期是日期选择器,日期选择器文本字段是文本字段 pickerDate.datePick
我尝试设置最小和最大日期来限制用户的选择,但它不起作用: override func viewDidLoad() { let datePickerView : UIDatePi
func show(title: String, doneButtonTitle: String = "Done", cancelButtonTitle: String = "Cancel", def
我是一名优秀的程序员,十分优秀!