我可以用来UIPinchGestureRecognizer在a的视图中进行缩放UICollectionViewCell,但是你开始UIPinch做手势的地方并不重要,总是缩放在视图的中心.例如,我想在视图的左上角区域进行捏合,并且必须在我触摸屏幕的位置创建缩放.但是,如果我这样做,则会在视图的中心创建缩放.
这是我用来进行缩放的代码:
if([gesture state] == UIGestureRecognizerStateBegan) {
previousScale = 1.0;
}
if (
[gesture state] == UIGestureRecognizerStateChanged) {
CGFloat currentScale = [[[gesture view].layer valueForKeyPath:@"transform.scale"] floatValue];
// Constants to adjust the max/min values of zoom
const CGFloat kMaxScale = 4.0;
const CGFloat kMinScale = 1.0;
CGFloat newScale = 1 - (previousScale - [gesture scale]); // new scale is in the range (0-1)
newScale = MIN(newScale, kMaxScale / currentScale);
newScale = MAX(newScale, kMinScale / currentScale);
scale …Run Code Online (Sandbox Code Playgroud) 我试图保留我用作照片库frame的Collection View那个.但是隐藏在后视图中UITabBarController,并在UINavigationController其框架的变化.
这是我用来隐藏两者的代码:
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0];
if(IS_IPHONE_5)
{
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 568, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 568)];
}
}
}
else
{
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
}
[UIView commitAnimations];
} …Run Code Online (Sandbox Code Playgroud) uitabbarcontroller uinavigationcontroller ios uicollectionview
我有2个UITextFields,其中一个用于登录,另一个用于密码.
只有在登录名是"成功的",我想执行的Segue与Push另一个View Controller.但是当我触摸按钮时,直接将视图推送到另一个视图而不检查条件.
在StoryBoard中,我将UIButton拖动到我想要推送的View Controller,用于创建带有push选项的segue.
这是我的代码:
- (IBAction)buttonLogin:(id)sender {
if (([self.textFieldLogin.text isEqualToString:@"User"]) && ([self.textFieldPassword.text isEqualToString:@"1515"])){
[self performSegueWithIdentifier:@"SegueLogin" sender:self];
}else{
UIAlertView *alert=[[UIAlertView alloc] initWithTitle:@"User wrong"
message:@"Fill up again the user info"
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:@"Cancel", nil];
[alert show];
}
}
Run Code Online (Sandbox Code Playgroud) 我知道推送通知或相机之类的东西不能在模拟器上运行。还有其他任务只能使用真实设备才能完成。但我想确切地知道所有这些任务需要在设备上执行,而不是在模拟器上执行。
提前致谢!
我有这样One-to-Many relationship的Core Data:

每个都SBQChrono可以有很多SBQLaps.
在我的模型中,我有班级SBQLap:
@interface CILap : NSObject
@property (strong, nonatomic) NSDate * lapDate;
@end
Run Code Online (Sandbox Code Playgroud)
和班级SBQChrono:
@interface CIChrono : NSObject
@property (strong, nonatomic) NSDate * startDate;
@property (strong, nonatomic) NSDate * stopDate;
@property (strong, nonatomic) NSOrderedSet *laps;
@end
Run Code Online (Sandbox Code Playgroud)
我做了所有的SBQChrono entities事情:
NSFetchRequest *request=[[NSFetchRequest alloc] initWithEntityName:kChronoEntityName];
NSError *error;
NSArray *objects = [appContext.managedObjectContext executeFetchRequest:request error:&error];
Run Code Online (Sandbox Code Playgroud)
如何获得SBQLap每个SBQChrono我发现的指定实体?我读了很多帖子,但无法得到解决方案.
更新:
在尝试施放之后NSManagedObject,我意识到圈数以零值返回.
这样做:
for(NSManagedObject*对象中的oneObject){
CIChrono …Run Code Online (Sandbox Code Playgroud) 我想确保我不能沟通Telegram的iOS 8.我的目标是在触摸后UIButton通过我的应用程序打开Telegram,在此过程中将我的电话号码作为参数传递给发件人,并且Telegram可以处理针对某个特定电话号码的新短信.
如果Telegram没有自己的定制' URL Scheme',我不能这样做,对吧?即使在iOS 8上也是如此
谢谢