UICatalog這個例子
例子中得類方法:
+ (UIButton *)buttonWithTitle: (NSString *)title
target:(id)target
selector:(SEL)selector
frame:(CGRect)frame
image:(UIImage *)image
imagePressed:(UIImage *)imagePressed
darkTextColor:(BOOL)darkTextColor
{
UIButton *button = [[UIButton alloc] initWithFrame:frame];
// or you can do this:
// UIButton *button = [[UIButton buttonWithType:UIButtonTypeCustom] retain];
// button.frame = frame;
button.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
button.contentHorizontalAlignment = UIControlContentHorizontalAlignmentCenter;
[button setTitle:title forState:UIControlStateNormal];
if (darkTextColor)
{
[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
}
else
{
[button setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
}
UIImage *newImage = [image stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];
[button setBackgroundImage:newImage forState:UIControlStateNormal];
UIImage *newPressedImage = [imagePressed stretchableImageWithLeftCapWidth:12.0 topCapHeight:0.0];
[button setBackgroundImage:newPressedImage forState:UIControlStateHighlighted];
[button addTarget:target action:selector forControlEvents:UIControlEventTouchUpInside];
// in case the parent view draws with a custom color or gradient, use a transparent color
button.backgroundColor = [UIColor clearColor];
return button;
}
用法:
- (void)createGrayButton
{
// create the UIButtons with various background images
// white button:
UIImage *buttonBackground = [UIImage imageNamed:@"whiteButton.png"];
UIImage *buttonBackgroundPressed = [UIImage imageNamed:@"blueButton.png"];
CGRect frame = CGRectMake(0.0, 0.0, kStdButtonWidth, kStdButtonHeight);
grayButton = [ButtonsViewController buttonWithTitle:@"Gray"
target:self
selector:@selector(action:)
frame:frame
image:buttonBackground
imagePressed:buttonBackgroundPressed
darkTextColor:YES];
}
分享到:
相关推荐
完全可定制的UIButton 例子 要运行示例项目,请克隆存储库,然后首先从Example目录运行pod install 。 安装 可以通过Swift Package Manager (推荐)和 : pod 'NKButton' 用法 创建和基本定制: let button = ...
本篇文章将深入探讨`UIButton`的基本使用、关键属性以及如何进行适当的封装,以提高代码的可重用性和可维护性。 首先,我们来了解`UIButton`的基本使用。创建一个`UIButton`可以使用代码或者在Interface Builder中...
以下是一个简单的例子,演示如何将按钮标题旋转45度: ```swift let button = UIButton(type: .system) button.setTitle("旋转按钮", for: .normal) let rotation = CGAffineTransform(rotationAngle: .pi / 4) ...
总之,FSCustomButtonDemo项目是一个深入学习Swift中自定义表单控件的好例子,它涵盖了从基础的UI设计到复杂的交互逻辑的多个层面。通过研究和实践这个项目,开发者可以提升自己的Swift UI技能,为自己的应用创造出...
在这个例子中,`handleButtonClick()`是 ViewModel 中处理按钮点击的逻辑。使用这种方式,你的代码更加清晰,因为视图的交互直接映射到ViewModel的行为。 RxSwift还允许我们进一步封装这个行为,例如,可以创建一个...
在这个例子中,我们首先创建了一个 `UIButton` 并设置了它的类型、大小和背景色。然后,我们添加了图片并使用 `imageEdgeInsets` 来调整其位置,使其垂直居中。接着,我们设置了标题并调整了 `titleEdgeInsets`,...
在这个例子中,如果hitTest:withEvent:返回nil,表示触摸点不在当前视图或其子视图内,此时将触摸点转换为按钮的坐标系,并检查是否在按钮的bounds内。如果是,则返回按钮,使得按钮即使位置超出父视图也能响应点击...
这个例子"iOS应用简单例子(秒表)"着重讲解了如何利用UIKit框架中的UILabel和UIButton组件来实现一个基础的计时功能。 首先,UILabel是iOS界面中最常见的控件之一,它用于显示静态或动态的文字信息。在这个秒表...
以下是一个简单的例子,展示了如何动态创建一个UIButton并设置其tag值: ```swift // 开始按钮 let btnStart = UIButton() btnStart.tag = 100 // 这里设置了tag值为100 btnStart.frame = CGRect(x: CGRectGetMidX...
LXCarouselImages项目就是一个很好的例子,它将普通的UIButton扩展成了一个具备轮播功能的控件。这样的自定义控件可以复用,提高代码的可维护性和效率。 总的来说,LXCarouselImages项目通过UIButton的无限轮播功能...
在这个例子中,我们在`layoutSubviews`方法中调整了 `imageView` 和 `titleLabel` 的frame,从而实现了自定义布局。但请注意,即使这样做了,仍然需要确保调整的frame不会超出UIButton的边界,因为UIButton会根据...
6. **UIButton+WebCache分类**:同样扩展了UIButton,使其也能利用`SDWebImage`加载网络图片。 7. **SDWebImagePrefetcher**:预加载图片工具,可以预先加载一系列URL的图片,提高用户体验。 在`SDWebImage`的5月...
例子 要运行示例项目, pod install克隆 repo,然后从 Example 目录运行pod install 。 或者运行pod try CKCountdownButton以获得最新的稳定版本。 要求 安装 CKCountdownButton 可通过。 要安装它,只需将以下行...
例子![替代文字]( "图像顶部文字底部") ![替代文字]( "Text top Image bottom") ![alt text]( "Text left Image top") 用法``FlexibleAlignButton * btn = ..... btn.alignment = kButtonAlignmentLabelLeft; btn....
通过这个简单的例子,我们了解了如何使用UIPanGestureRecognizer实现平滑的手势操作。UIPanGestureRecognizer可以检测单指或多指滑动,适用于各种场景,如拖动视图、平移地图等。在实际开发中,可以依据需求调整手势...
在这个例子中,我们创建了一个 `CountdownButton` 实例,设置了它的尺寸、颜色、圆角半径,并调用了 `startCount` 开始倒计时。最后,将其添加到视图层级。 `CountdownButton-master` 这个压缩包文件名可能代表这是...
这个"iPhone帧动画例子"可能是一个简单的应用,演示了如何在iPhone上实现帧动画,并通过开始和暂停两个按钮来控制动画的播放状态。下面我们将深入探讨帧动画的基本概念、实现方法以及如何在代码中添加控制逻辑。 帧...
在这个“我的第一个iPhone小例子”中,我们将探讨iOS开发的基础知识,使用苹果的Swift编程语言以及Xcode集成开发环境(IDE)。 首先,Swift是苹果于2014年推出的编程语言,用于编写iOS、iPadOS、macOS、watchOS和...
"IOS五子棋小例子"是基于Objective-C编写的一个简单的五子棋游戏项目,非常适合初学者用来锻炼编程技能和理解iOS应用开发的基本流程。 首先,我们要了解五子棋游戏的基本规则。五子棋是一种两人对弈的策略型棋类...
`Glowing-UIButton`项目是一个很好的例子,它展示了如何通过扩展UIButton类来实现一个具有发光效果的按钮。这个示例应用程序适用于Xcode 6.3版本,采用的是Swift 1.2编程语言。下面我们将深入探讨这个项目的相关知识...