`
jsntghf
  • 浏览: 2534259 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

CMPopTipView在iOS中的应用

    博客分类:
  • iOS
阅读更多

主要是用到了一个自定义的CMPopTipView,使用起来还是挺简单的,具体的实现请参考附件。

 

- (IBAction)buttonAction:(id)sender {
	[self dismissAllPopTipViews];
	
	if (sender == currentPopTipViewTarget) {
		self.currentPopTipViewTarget = nil;
	} else {
		NSString *contentMessage = nil;
		UIView *contentView = nil;
		id content = [self.contents objectForKey:[NSNumber numberWithInt:[(UIView *)sender tag]]];
		if ([content isKindOfClass:[UIView class]]) {
			contentView = content;
		} else if ([content isKindOfClass:[NSString class]]) {
			contentMessage = content;
		} else {
			contentMessage = @"A CMPopTipView can automatically point to any view or bar button item.";
		}
		NSArray *colorScheme = [colorSchemes objectAtIndex:foo4random()*[colorSchemes count]];
		UIColor *backgroundColor = [colorScheme objectAtIndex:0];
		UIColor *textColor = [colorScheme objectAtIndex:1];
		
		CMPopTipView *popTipView;
		if (contentView) {
			popTipView = [[[CMPopTipView alloc] initWithCustomView:contentView] autorelease];
		} else {
			popTipView = [[[CMPopTipView alloc] initWithMessage:contentMessage] autorelease];
		}
		popTipView.delegate = self;
		if (backgroundColor && ![backgroundColor isEqual:[NSNull null]]) {
			popTipView.backgroundColor = backgroundColor;
		}
		if (textColor && ![textColor isEqual:[NSNull null]]) {
			popTipView.textColor = textColor;
		}
        
        popTipView.animation = arc4random() % 2;
		
		popTipView.dismissTapAnywhere = YES;
        [popTipView autoDismissAnimated:YES atTimeInterval:3.0];

		if ([sender isKindOfClass:[UIButton class]]) {
			UIButton *button = (UIButton *)sender;
			[popTipView presentPointingAtView:button inView:self.view animated:YES];
		} else {
			UIBarButtonItem *barButtonItem = (UIBarButtonItem *)sender;
			[popTipView presentPointingAtBarButtonItem:barButtonItem animated:YES];
		}
		
		[visiblePopTipViews addObject:popTipView];
		self.currentPopTipViewTarget = sender;
	}
}

 

分享到:
评论

相关推荐

    IOS7应用开发入门经典.第5版.pdf.zip

    5. **事件处理**:学习如何响应用户触摸和手势,以及如何在应用间进行导航。这涉及到UIControl对象、手势识别器(Gesture Recognizers)以及导航控制器(Navigation Controller)的使用。 6. **数据持久化**:iOS...

    iOS旧版应用下载v5.0.zip

    在iOS操作系统中,旧版应用下载是一个常见的需求,特别是在用户希望保持特定软件兼容性或避免新版本中的问题时。标题“iOS旧版应用下载v5.0.zip”表明这是一个资源包,提供了iOS系统旧版本(v5.0)的应用程序。这种...

    iOS 11应用开发基础教程Swift4.0

    在iOS 11应用开发中使用Swift 4.0,可以让开发者享受到更快速的编码体验以及对现有Swift 3.0代码更好的兼容性。 进行iOS 11应用开发需要一些基础的系统和软件支持。首先,需要在Mac电脑上安装MacOS 10.12.6操作系统...

    用HTML5开发ios应用

    开发者可以创建一个纯HTML5的Web应用,然后在iOS应用中通过WebView加载。 ### 关键技术 1. **HTML5的新特性**:如离线存储(localStorage)、拖放功能、媒体元素(video/audio)、canvas绘图、geolocation定位等,...

    iOS旧版应用下载v5.1.zip

    在IT行业中,尤其是在移动应用开发领域,iOS操作系统不断更新迭代以提供更好的性能和新功能。然而,有时用户可能需要回溯到旧版本的应用程序,这可能是由于兼容性问题、新版本的问题或者是用户对旧功能有特定需求。...

    iOS 9.1应用开发基础教程

    在本教程中,我们将深入探讨“iOS 9.1应用开发基础”,这是一门适合初学者的课程,旨在帮助你掌握Apple的移动操作系统上的应用程序构建技术。iOS 9.1是苹果公司为iPhone、iPad以及iPod touch设备推出的一个重要版本...

    斯坦福 iOS7应用开发 shutterbug

    在Shutterbug中,你会学习如何使用UIImagePickerController来集成系统相机,让用户能够直接在应用内拍照。同时,还要了解如何使用UIImageView显示所拍的照片,并实现滑动浏览功能。 接下来,课程会介绍Core Image...

    iOS7应用开发 assignment 3源代码(Stanford iOS7

    这个项目对于初学者来说是一个宝贵的参考资料,因为它展示了如何在实际环境中应用iOS开发的技术和概念。 【描述】斯坦福iOS7应用开发assignment 3源代码提供了已完成的大部分作业要求。这个源代码库包含了一个或多...

    iOS 应用逆向工程 分析与实战

    进而分析使用这些工具时的思考方式和碰到问题时的解决思路,最后以社交应用消息拦截、iOS电话相关操作等4个极具代表性的实例总结iOS应用逆向工程在实战中发挥的关键作用。本书先授你以渔,再授你以鱼,多处独家内容...

    IOS源码应用Demo-tip提示.zip

    这个项目的核心是实现一个提示功能,这在iOS应用中是非常常见且实用的,例如用户操作指导、信息提示或者错误反馈等。通过研究这个源码,开发者可以深入理解如何在iOS平台上集成和定制提示系统。 【描述】提到的"前...

    iOS旧版应用下载v5.0 By:Time丨Brand.zip

    在这个案例中,这个ZIP文件包含了iOS旧版应用的下载文件,可能是通过某种方式从App Store或其他来源获取的。 "ios itunes"标签表明这个话题与iOS设备的管理工具iTunes有关。iTunes曾经是苹果用户管理和同步iOS设备...

    iOS获取手机安装的所有应用信息(bundle id,icon,名称等)

    它可以通过`CFBundleIconFiles`键在应用的Info.plist文件中定义,或者在Xcode的项目设置中指定。 3. **应用名称**: 用户看到的应用在SpringBoard(iOS主屏幕)上的显示名称,通常与Info.plist文件中的`...

    ios 选择其他应用打开文件

    在iOS系统中,用户可以使用“选择其他应用”功能来打开和处理各种类型的文件,而不仅仅局限于默认的应用程序。这个特性使得iOS更加灵活,让用户能够根据个人需求利用不同应用的功能来处理同一份文件。以下是对这个...

    IOS微信移动应用扫码登录DEMO

    这个"IOS微信移动应用扫码登录DEMO"就是一个典型的示例,它展示了如何在iOS应用中集成微信SDK,实现在应用内部生成二维码,并通过微信客户端扫描进行登录。 首先,我们需要了解的是微信开放平台。微信开放平台提供...

    ios应用程序编程指南

    开发者需要了解如何在应用中存储数据,这包括使用iOS的键值编码、键值观察和核心数据等技术来持久化数据。键值编码是一种通过键的名称来访问对象属性的机制,而键值观察则是一种当对象属性改变时获得通知的机制。...

    iOS应用无线发布SOP

    iOS 企业应用发布 SOP 是一份关于在 iOS7.0 以下及 7.1 以上版本中,搭建企业应用发布网站的标准操作流程(SOP)。这份 SOP 涵盖了从发布方案到应用打包的整个过程,旨在帮助企业快速搭建 iOS 企业应用发布平台。 ...

Global site tag (gtag.js) - Google Analytics