我发现当出现未对接/分离的键盘时,UIKeyboardWillShowNotification并UIKeyboardDidShowNotification没有生成iOS 5.例如,点击文本字段以显示键盘(生成通知),取消键盘,点击文本字段以关闭键盘,再次点击文本字段以显示未停靠的键盘(不生成通知) .
有没有办法检测键盘何时出现,无论它是否已停靠?
我是新手objective C,我创建了一个应用程序,因为我使用了两个NSUserDefault并Keychain存储了我的用户名和密码.但我无法区分两者.请帮助区分两者.
谢谢.
我在iOS 7中遇到了MPMoviePlayerController的问题.我进入全屏,然后点击(只需点击一下)搜索转发按钮(>> |),视频播放结束并给出带有文本"正在加载"的黑屏在标题上.
我注册了" MPMoviePlayerPlaybackStateDidChangeNotification "的通知.
**[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackStateDidChange:)
name:MPMoviePlayerPlaybackStateDidChangeNotification
object:self.player];**
Run Code Online (Sandbox Code Playgroud)
单击"向前搜索"按钮不会触发它.
同时注册" MPMoviePlayerPlaybackDidFinishNotification "
**[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(moviePlayerPlaybackDidFinish:)
name:MPMoviePlayerPlaybackDidFinishNotification
object:nil];**
Run Code Online (Sandbox Code Playgroud)
我点击了"向前搜索"按钮就触发了" MPMovieFinishReasonPlaybackEnded "事件.谁知道原因?这是苹果中的一个错误吗?
我需要停止在单击时显示黑屏的行为,或者只是禁用单击"向前搜索"按钮以便不会发生任何事情.
任何人都知道如何实现这一目标?
我想UITextField通过将其限制为四个字符来自定义a .我正在尝试了解代理如何工作Objective-C并已经完成以下步骤来实现此功能,仍然没有运气获得可行的解决方案.
1)创建了一个LimitedLengthTextField objective-c类.制作类型类UITextField并接受<UITextFieldDelegate>类型的对象.
LimitedLengthTextField.h:
@interface LimitedLengthTextField : UITextField <UITextFieldDelegate>
@end
Run Code Online (Sandbox Code Playgroud)
2)在LimitedLengthTextField.m中实现了以下方法:
@implementation LimitedLengthTextField
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger newLength = [textField.text length] + [string length] - range.length;
return (newLength > 4) ? NO : YES;
}
@end
Run Code Online (Sandbox Code Playgroud)
3)在我的CreateAccount类中导入"LimitedLengthTextField.h",并尝试按如下方式设置UITextField"ssnTextField"的委托viewDidLoad(我的app接受用户SSN的最后4位数字).
// Set the custom SSN textfield delegate
LimitedLengthTextField *custTextField = [[LimitedLengthTextField alloc] init];
[self.ssnTextField setDelegate:custTextField];
Run Code Online (Sandbox Code Playgroud)
基于我对Objective-C代表的有限理解,我现在创建了一个类,实现了我想要的委托方法,然后创建了该类的实例并将其分配给我的UITextView对象.我错过了什么?
我在这里看了几篇关于直播的帖子video/audio.不幸的是,似乎没有任何"好"的解决方案.
我想SDWebImageView为图像提供相同的视频功能.
现在,我正在使用以下代码: -
NSURL *url=[[NSURL alloc] initWithString:@"http://www.ebookfrenzy.com/ios_book/movie/movie.mov"];
MPMoviePlayerController *moviePlayer=[[MPMoviePlayerController alloc] initWithContentURL:url];
moviePlayer.controlStyle=MPMovieControlStyleDefault;
moviePlayer.shouldAutoplay=YES;
Run Code Online (Sandbox Code Playgroud)
但是当我滚动时tableview,所有视频都会一次又一次地下载.那么我怎么能停止下载呢?
是否有更好的解决方案来播放视频UITableView?相同的Facebook,Instagram和Vine Apps在做什么?
objective-c mpmovieplayercontroller video-streaming uitableview ios
我有一个用于显示地图和自定义注释的应用程序.当用户触摸注释时,我的应用程序崩溃.它仅在iOS 7中发生.它适用于iOS 6和iOS 5.
以下是控制台中显示的崩溃报告:
ERROR: Trying to select an annotation which has not been added
-[__NSSetM coordinate]: unrecognized selector sent to instance 0x18c9d580
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSSetM coordinate]: unrecognized selector sent to instance 0x18c9d580'
*** First throw call stack:
(
0 CoreFoundation 0x020415e4 __exceptionPreprocess + 180
1 libobjc.A.dylib 0x016918b6 objc_exception_throw + 44
2 CoreFoundation 0x020de903 -[NSObject(NSObject) doesNotRecognizeSelector:] + 275
3 CoreFoundation 0x0203190b ___forwarding___ + 1019
4 CoreFoundation 0x0206e46e __forwarding_prep_1___ + 14
5 MapKit …Run Code Online (Sandbox Code Playgroud) 我正在转换应用程序UIWebView,WKWebView并且有一个自动登录功能,该功能是通过保存带有用户身份验证信息的cookie来处理的NSHTTPCookieStorage.但是,WKWebView似乎没有查看cookie的这个位置,因此每次都会提示用户使用登录屏幕.
是否需要激活WKWebView正确使用cookie?
我使用ISBX/apprtc-ios代码进行视频聊天实现.这项工作在iPhone和模拟器中完美无缺.我想在两个对等体之间发送文本/字符串数据,我正在使用RTCDataChannel类.
以下是我的实现,我无法建立连接.它总是给出状态kRTCDataChannelStateConnecting如何连接RTCDataChannel?适用于iOS的WebRTC RTCDataChannel是否有可用的实现?
- (void)createNewDataChannel {
if (self.clientDataChannel) {
switch(self.clientDataChannel.state) {
case kRTCDataChannelStateConnecting:
NSLog(@"kRTCDataChannelStateConnecting");
break;
case kRTCDataChannelStateOpen:
NSLog(@"kRTCDataChannelStateOpen");
break;
case kRTCDataChannelStateClosing:
NSLog(@"kRTCDataChannelStateClosing");
break;
case kRTCDataChannelStateClosed:
NSLog(@"kRTCDataChannelStateClosed");
break;
default:
NSLog(@"Unknown");
}
return;
}
if (self.peerConnection == nil) {
NSLog(@"Peerconnection is nil");
}
RTCDataChannelInit *DataChannelInit = [[RTCDataChannelInit alloc] init];
DataChannelInit.maxRetransmits = 0;
DataChannelInit.isOrdered=false;
DataChannelInit.maxRetransmitTimeMs = -1;
DataChannelInit.isNegotiated = false;
DataChannelInit.streamId = 25;
RTCDataChannel *dataChannel =[_peerConnection createDataChannelWithLabel:@"commands" config:DataChannelInit];
dataChannel.delegate=self;
self.clientDataChannel = dataChannel;
if (self.clientDataChannel == nil) { …Run Code Online (Sandbox Code Playgroud) 我想在我的应用程序中实现自定义相机.所以,我正在创建这个相机AVCaptureDevice.
现在我只想在我的自定义相机中显示灰度输出.所以我试图用这个setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:和AVCaptureWhiteBalanceGains.我正在使用AVCamManual:将AVCam扩展为使用手动捕获.
- (void)setWhiteBalanceGains:(AVCaptureWhiteBalanceGains)gains
{
NSError *error = nil;
if ( [videoDevice lockForConfiguration:&error] ) {
AVCaptureWhiteBalanceGains normalizedGains = [self normalizedGains:gains]; // Conversion can yield out-of-bound values, cap to limits
[videoDevice setWhiteBalanceModeLockedWithDeviceWhiteBalanceGains:normalizedGains completionHandler:nil];
[videoDevice unlockForConfiguration];
}
else {
NSLog( @"Could not lock device for configuration: %@", error );
}
}
Run Code Online (Sandbox Code Playgroud)
但为此,我必须将RGB增益值传递到1到4之间.所以我创建了这个方法来检查MAX和MIN值.
- (AVCaptureWhiteBalanceGains)normalizedGains:(AVCaptureWhiteBalanceGains) gains
{
AVCaptureWhiteBalanceGains g = gains;
g.redGain = MAX( 1.0, g.redGain );
g.greenGain = MAX( 1.0, g.greenGain ); …Run Code Online (Sandbox Code Playgroud) 我有一个UITableView填充了一些数据,但由于它包含的数据比屏幕的可视区域更多的单元格,我只能设法得到它的快照,我想知道是否有其他方法我可以获得整个tableview快照在pdf ..这是我尝试过的感谢
- (IBAction)clickMe:(id)sender
{
UIView *viewToRender = self.myTableView;
CGPoint contentOffset = self.myTableView.contentOffset;
UIGraphicsBeginImageContext(viewToRender.bounds.size);
CGContextRef ctx = UIGraphicsGetCurrentContext();
// KEY: need to translate the context down to the current visible portion of the tablview
CGContextTranslateCTM(ctx, 0, -contentOffset.y);
[viewToRender.layer renderInContext:ctx];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIImageView *myImage=[[UIImageView alloc]initWithImage:image];
UIGraphicsEndImageContext();
[self createPDFfromUIViews:myImage saveToDocumentsWithFileName:@"PDF Name"];
}
- (void)createPDFfromUIViews:(UIView *)myImage saveToDocumentsWithFileName:(NSString *)string
{
NSMutableData *pdfData = [NSMutableData data];
UIGraphicsBeginPDFContextToData(pdfData, myImage.bounds, nil);
UIGraphicsBeginPDFPage();
CGContextRef pdfContext = UIGraphicsGetCurrentContext();
// draws rect to the view and …Run Code Online (Sandbox Code Playgroud) ios ×9
objective-c ×7
swift ×3
uitableview ×2
avcapture ×1
delegates ×1
ios5 ×1
keychain ×1
uikeyboard ×1
uitextfield ×1
webrtc ×1
wkwebview ×1