大致步骤
1) 新建一个UIView的子类(@interface HypnosisView : UIView)
2) 自定义绘图函数:(void) drawRect:(CGRect)rect
- 确定绘图范围:CGRect bounds=[self bounds]
- 获得CGContext, CGContextRef context=UIGraphicsGetCurrentContext();
- 进行绘图操作
3) 将新视图绑定到主窗口
在HypnosisterAppDelegate中添加一个成员变量HypnosisView *view;
确定绘图范围
在didFinishLaunchingWithOptions中增加子视图:[_window addSubview:view];
进行显示 [_window makeKeyAndVisible];
待确定事项:
1) CGContextStrokePath的功能
2) makeKeyAndVisible消息的功能
关键代码如下:
1) 绑定处理:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
NSLog(@"didFinishLaunchingWithOptions.");
CGRect drawingArea=[_window bounds];
view = [[HypnosisView alloc] initWithFrame:drawingArea];
[view setBackgroundColor:[UIColor yellowColor]];
[_window addSubview:view];
// Override point for customization after application launch.
[_window makeKeyAndVisible];
return YES;
}
2) 绘图处理:
- (void) drawRect:(CGRect)rect
{
NSLog(@"Entering the drawing function of HyponsisView.");
//Get the drawing rectangle
CGRect bounds=[self bounds];
//Calculate the references
CGPoint center;
center.x=bounds.origin.x+bounds.size.width/2.0;
center.y=bounds.origin.y+bounds.size.height/2.0;
float radius=hypot(bounds.size.width, bounds.size.height)/2.0;
//Prepare Drawing
CGContextRef context=UIGraphicsGetCurrentContext();
CGContextSetLineWidth(context,10);
[[UIColor greenColor] setStroke];
//Drawing the circles
for( float r=radius; r>0; r=r-25)
{
CGContextAddArc(context, center.x, center.y, r, 0.0, M_PI*2.0,YES);
CGContextStrokePath(context);
}
}
运行效果:
- 大小: 59.9 KB
分享到:
相关推荐
1. **创建视图**: 首先,我们需要创建一个新的UIView子类,作为自定义提示框的基础视图。这个视图将包含所有的内容,如标题、消息文本、按钮等。我们可以在Xcode中新建一个Swift或Objective-C文件,并实现UIView的...
1. 自定义UIView子类:为了创建数字时钟,我们需要自定义一个UIView子类,例如DigitTimeView。这个类将负责绘制时钟的数字界面,并实时更新时间显示。 2. 时间格式化:Swift中的Date和 DateFormatter 类可以帮助...
1. 创建自定义视图类:首先,创建一个继承自 `UIView` 的子类,用于展示滚动内容。 2. 实现数据源代理:设置 `UIScrollView` 的数据源代理方法,如 `- (NSInteger)numberOfPagesInScrollView:(UIScrollView *)...
在这个例子中,我们创建了一个名为HudView的UIView子类,它用于展示一个简短的动画,让用户知道操作已经被成功执行。这个特定的HudView会在用户点击Done按钮关闭界面时出现,显示文本“Tagged”。 首先,我们修改...
- 添加自定义视图类:创建一个新的UIView子类,如MyView,以扩展默认界面功能。 - 编写代码:在MyView类中实现显示“Hello, World!”的文字,这通常是在视图加载时完成的,例如在`- (void)drawRect:(CGRect)rect`...
1. **创建视图**: 首先,我们需要创建一个自定义的UIView子类,用于显示九宫格。在Xcode中,新建一个Swift文件,例如命名为`NineGridPasswordView`,并继承自UIView。在这个类中,我们将添加9个UIButton作为子视图,...
使用步骤: 1、新建一个控制器(UIViewController)继承FTYBaseSettingController 2、 // 初始化每一个cell的样式 FTYSettingModel Confirmation = [FTYSettingASwitchTypeModel itemWithTitle:@"Friend ...
这个视图通常是一个圆形,我们可以自定义一个名为`FloatBallView`的UIView子类来实现。在`FloatBallView.swift`文件中,定义这个类并实现其初始化方法: ```swift class FloatBallView: UIView { override init...
在iOS中,所有可见的元素都是`UIView`或其子类。`UIView`代表了屏幕上的一个矩形区域,可以通过多种方式定制其外观和行为。 - **创建视图**: 使用`[UIView alloc] initWithFrame:...`方法来创建一个新的`UIView`...
在Xcode中,新建一个Objective-C或Swift类,继承自UITabBarController。例如,我们可以命名为`CustomTabBarController`。 2. 自定义TabBarItem: 首先,我们需要为每个TabBarItem创建自定义视图。这可以通过实现`...
- 在Xcode中,新建一个UIView的子类,如`CustomStatusBarView`,并实现其中的初始化方法。确保视图的高度等于StatusBar的高度(通常为20像素)。 - 在`CustomStatusBarView`中添加所需的子视图,如UILabel或...
- 新建一个`UIViewController`子类。 - 创建一个新的nib文件,将File's Owner指向新创建的控制器类。 - 将nib中的`UIViewController`实例连接到File's Owner。 - 设置`UIViewController`的`nibName`属性,使其...
在Xcode中,新建一个`UIViewController`子类,如`CustomCameraViewController.swift`,并重写其`viewDidLoad`方法,以便设置相机的预览层和裁剪框。 ```swift class CustomCameraViewController: UIViewController ...
自定义Segue可以在UIStoryboardSegue子类中实现,覆盖perform方法来实现特定的过渡效果。 3.4 Auto Layout与Size Classes Auto Layout为UI元素提供了约束,确保它们在不同屏幕尺寸下都能正确显示。Size Classes则...