`

iPhone开发实现点击一个UIImageView时打开键盘 .

    博客分类:
  • ios
ios 
阅读更多
同样的需求,做Android客户端时在没有文本框时也可以通过inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);调出系统键盘。

但是,IOS中貌似没有这样的接口,所以可以采用“隐藏文本框”的方式,调出系统键盘,具体实现如下:


1、在ViewController.xib上放置一个ImageView和一个UITextField(代码中将其设置为隐藏),如下:

[img]

[/img]





2、ViewController.h如下:

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController<UITextFieldDelegate>{
    BOOL hasOpenKeyBoard;//是否打开键盘
}

@property(strong,nonatomic)IBOutlet UIImageView *imgView;
@property(strong,nonatomic)IBOutlet UITextField *textField;

-(IBAction)showKeyBoard:(id)sender;
@end




3、ViewController.m如下:

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController
@synthesize imgView;
@synthesize textField;
- (void)viewDidLoad
{
    [super viewDidLoad];
	// Do any additional setup after loading the view, typically from a nib.
    //隐藏文本框
    textField.hidden = YES;
    //设置代理
    textField.delegate = self;
    hasOpenKeyBoard = false;
}

- (void)viewDidUnload
{
    [super viewDidUnload];
    // Release any retained subviews of the main view.
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
    return (interfaceOrientation != UIInterfaceOrientationPortraitUpsideDown);
}

-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event{
    NSLog(@"touchesBegan...");
    //[imgView becomeFirstResponder];
    if(!hasOpenKeyBoard){
        [textField becomeFirstResponder];
    }else{
        [textField resignFirstResponder];
    }
    hasOpenKeyBoard=!hasOpenKeyBoard;
}

#pragma mark UITextFieldDelegate Methods
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
    NSLog(@"string=%@",string);
    return YES;
}

@end

方法shouldChangeCharactersInRange中可以监听到键盘输入。





4、效果如下:
[img]

[/img]
  • 大小: 132.2 KB
  • 大小: 160.4 KB
分享到:
评论

相关推荐

    Mac XCode iPhone 显示一个UIImageView 和一个UIWebView

    本文将深入探讨如何使用Xcode显示一个UIImageView和一个UIWebView,这两个是iOS开发中常用的UI组件。 UIImageView是iOS应用中用于展示图片的控件。它可以显示静态图像,也可以动态加载网络图片或者在内存或磁盘中...

    UIImageView+WebCache

    `UIImageView+WebCache` 是一个iOS开发中的著名第三方库,主要用来解决在应用程序中高效、便捷地加载网络图片的问题。这个库是由SDWebImage项目提供的,它的核心功能是为`UIImageView`添加了对网络图片异步加载的...

    ios-UIImageView帧动画.zip

    在iOS开发中,UIImageView是用于显示图像的常见控件,它可以用来展示静态图片,但同时,通过巧妙地利用帧动画,我们还能让它显示一系列连续的图像,从而创建出动态效果。这个“ios-UIImageView帧动画.zip”文件很...

    iPhone之UIImageView入门

    在iOS开发中,UIImageView是苹果提供的一个非常重要的UI组件,用于显示图像,无论是静态图片还是动态GIF。在本教程中,我们将深入探讨如何在iPhone应用中使用UIImageView进行图片的展示和基本操作。 首先,...

    ios-UIImageView加载SVG格式的图片.zip

    相较于传统的位图图像(如JPEG或PNG),SVG图像在放大时不会出现像素化,因此在需要高分辨率显示或者图形元素需要动态改变大小的情况下,SVG是一个理想的选择。然而,iOS的默认SDK并不直接支持SVG格式,这就需要我们...

    iOS点击UIImageView图片放大缩小功能

    在iOS应用开发中,经常需要实现图片点击后放大缩小的效果,以增强用户体验,尤其是在查看细节丰富的图片时。这个功能可以通过自定义控件或者利用现有的框架来实现。在本案例中,我们关注的是一个专为这个需求封装的...

    OC Extension UIImageView+FHXExtension.zip

    本话题涉及的"UIImageView+FHXExtension.zip"是一个OC的扩展,为UIImageView类添加了额外的功能,方便开发者更高效地处理图像显示。下面我们将详细探讨这个扩展中的知识点。 首先,"UIImageView+FHXExtension"这种...

    UIImageview加载.svg

    UIImageView是苹果提供的一个视图类,主要用于展示图片。然而,UIImageView默认并不支持SVG格式的图片。在本篇文章中,我们将探讨如何在iOS应用中使用UIImageview加载SVG图像,并介绍SVGKit这个库。 SVG是一种XML-...

    UIImageView-BetterFace, 一个UIImageView类别,让图片裁剪时显示出更好的效果.zip

    UIImageView-BetterFace, 一个UIImageView类别,让图片裁剪时显示出更好的效果 uiimageview-betterface一个UIImageView扩展,让图片切割的面显示更好v0.2 _stable中的最后一次更新: 添加UIImage BetterFace类别,...

    iOS图片绘制(自定义UIImageView)

    本文将深入探讨如何利用`UIImageView`和`UIControl`实现一个带有标题、点击效果的自定义图片视图。我们将首先介绍`UIImageView`的基本用法,然后讨论如何通过继承`UIControl`来增加交互功能,并最终实现一个具有标题...

    ios-HXFlexoView 一个非常牛B的View,实现一行多种样式的UILabel UIImageView混排.zip

    大家经常做项目,应该会遇到一个界面的一行有多个UILaebl 多个UIImageView混的情况,尤其是UILaebl的文字长度是动态的情况,这时候就需要计算各种长度位置,比较麻烦,关键是,这种情况非常常见,所以我就想出来写这么一个...

    UIImageView、深入解析UIImageView

    `UIImageView` 是 iOS 开发中不可或缺的重要组件之一,了解并掌握其使用方法对于构建高质量的 iOS 应用至关重要。在实际开发过程中,根据具体需求选择合适的图像加载方式,并合理利用 `UIImageView` 的各种属性和...

    swift-用两个UIImageView实现了无限轮播图

    然而,这个实现方式有一些局限性,比如没有考虑图片加载的状态、用户交互(如点击暂停/继续)、以及性能优化等问题。在实际项目中,可能会使用更复杂的数据结构和第三方库(如SDWebImage或Kingfisher)来处理这些...

    iOS开发实现UIImageView的分类

    这里我们将详细探讨如何在Objective-C中实现一个UIImageView的分类,以及分类中包含的一些实用方法。 首先,我们来看分类的`.h`文件,它定义了几个方便创建和定制UIImageView的类方法: 1. `+ (instancetype)...

    UIImageView动画

    在iOS开发中,UIImageView是用于显示图像的常见控件,它可以是应用界面中的图标、背景图片等。在某些场景下,我们可能需要为UIImageView添加动画效果,以增加用户体验的趣味性和交互性。本知识点主要围绕UIImageView...

    iPhone开发揭秘.pdf

    非游戏框架基于iPhone用户界面的标准控件,即典型的iPhone程序包含一个Window和若干个UIViewController,每个UIViewController负责管理多个UIView,这些UIView可以是UITableView、UIWebView、UIImageView等。...

    ios-表情键盘.zip

    这个“ios-表情键盘.zip”压缩包包含了一个名为“FaceKeyboardView-master”的项目,它是一个简化版的仿微信表情键盘实现。下面我们将详细探讨这个项目的组成部分和相关知识点。 首先,我们需要理解iOS中的键盘体系...

    iOS控件 -- UIImageView使用详解

    对于序列帧动画,可以设置`animationImages`属性为一个UIImage数组,然后调用`startAnimating()`方法。 五、交互性 虽然UIImageView默认不接受用户交互,但可以通过设置`isUserInteractionEnabled`为`true`,并...

    使用UIImageView实现的橡皮擦类

    在这个实现中,可能会创建一个新的CGContext,然后将UIImageView中的UIImage的CGImage绘制到这个新context中,清除指定区域后,再将新context的内容绘制回UIImageView。 4. **图像缓存与更新**:由于iOS的优化机制...

    IOS利用UIImageView实现gif图片动画显示

    IOS中利用UIImageView控件实现gif图片动画显示,借助ImageIO接口达到gif图片拆分效果,然后使用UIImageView动画接口播放一组图片达到动画效果; 最后将单个gif图片动画播放接口封装成UIView类,达到多个gif图片错开...

Global site tag (gtag.js) - Google Analytics