小编Wan*_*ang的帖子

keyboardWillShow调用了两次

我有一个键盘通知,如keyboardWillShowkeyboardWillHide

我使用的通知处理的所有代码都取自Apple的示例代码"KeyboardAccessory"

当我第一次进入这个视图时,一切正常.

但是当我从子视图返回到此视图时,每次我点击一个按钮说:

[myTextField becomeFirstResponder];
Run Code Online (Sandbox Code Playgroud)

keyboardWillShowkeyboardWillHide方法都需要进行两次,每次调用.

这真的令人困惑,

任何人都可以帮助我吗?

万分感激!

iphone notifications nsnotifications uiresponder ios

9
推荐指数
3
解决办法
7892
查看次数

THREE.js:跨源资源共享策略拒绝跨源图像加载

我的Chrome版本是31.0.1650.57

我正在学习THREE.js并从https://github.com/jeromeetienne/threex.planets/下载了一个行星样本

但是当我运行earth.html时

标题上写着一个奇怪的错误:

THREE.WebGLRenderer 59 three.min.js:424
Cross-origin image load denied by Cross-Origin Resource Sharing policy. earth.html:1
Uncaught SecurityError: Failed to execute 'getImageData' on 'CanvasRenderingContext2D': the canvas has been tainted by cross-origin data. threex.planets.js:73
(anonymous function) threex.planets.js:73
Run Code Online (Sandbox Code Playgroud)

我查看了代码并找到了可能与此错误相关的内容:

THREEx.Planets.baseURL  = '../'
...
map: THREE.ImageUtils.loadTexture(THREEx.Planets.baseURL+'images/earthmap1k.jpg'),
Run Code Online (Sandbox Code Playgroud)

但我不知道如何解决它,我对javascript相对较新,

希望有人能帮助我!

万分感谢!

javascript canvas cross-domain cors three.js

8
推荐指数
2
解决办法
1万
查看次数

UIKeyboardFrameBeginUserInfoKey

UIKeyboardFrameBeginUserInfoKey和UIKeyboardFrameEndUserInfoKey之间的区别是什么?

这是否意味着"开始"一个返回的值与"结束"返回的值不同?

谢谢 !

keyboard constants ios

7
推荐指数
1
解决办法
5063
查看次数

如何获取系统UITableVIewCell的详细标签的文本颜色?

我真的很喜欢这种感觉.

还有一些其他系统颜色,我在UIColor文档中找不到它们的API,

例如nib文件中按钮的默认文本颜色等.

那么有什么方法可以使用它们吗?

我的意思是,它们只是颜色,没有风险,对吧?

或者是否有任何看起来相似的RGBA值?非常感谢!

rgb system textcolor ios

5
推荐指数
1
解决办法
3019
查看次数

用THREE.js制作一个阳光灿烂的太阳

我正在学习THREE.js做我最后的项目,这是一个简单的太阳系模型

我唯一不知道如何实现的是如何使太阳照耀闪烁,就像在铬实验中的太阳10万颗星,

我想要的是像这样的太阳: 在此输入图像描述

但是,下面是我能得到的最好的,这不够令人满意: 在此输入图像描述

希望有人可以告诉我,我可以用什么库或技术让太阳真正闪耀!

非常感谢!感恩节快乐!

javascript three.js

5
推荐指数
1
解决办法
3041
查看次数

tmp目录在iOS中太大了

我做了一个40M的应用程序(对我来说非常大).

但真正的惊喜是我发现tmp目录是300M!

我还没有保存文档中的任何文件!

所有文件的名称tmp都是:

stack-logs.80127.MyAppName.index
stack-logs.80163.MyAppName.vwnxgi.link
...
Run Code Online (Sandbox Code Playgroud)

这些是什么东西?他们占据了令人难以置信的300M大小!

我有什么办法可以定期清理它们吗?或者这是因为我在我的iPhone上调试我的应用程序?

真的需要一些帮助!

directory recycle-bin tmp ios

4
推荐指数
2
解决办法
1121
查看次数

将2个组件一起滚动时,UIPickerView崩溃

实际上,之前我问了同样的问题,但我还没有办法解决它,所以我又来了.

我的情况:

我有一个UIPickerView带有2个相关组件,第二个或右侧组件中行的数量和内容随第一个或左侧组件中当前选定的行而变化,这是一个非常常见且有用的函数UIPickerView.

现在,如果我使用2个拇指将两个组件一起滚动,我的应用程序很容易崩溃,很快就会有以下信息:

*** Terminating app due to uncaught exception of class '_NSZombie_NSException'
libc++abi.dylib: terminate called throwing an exception
Run Code Online (Sandbox Code Playgroud)

具有讽刺意味的是,我无法调试它.

实际上,如果我在pickerView:didSelectRow:inComponent方法中添加一个断点,我甚至不能快速地将两个组件一起滚动,因为每次我只是将手指放在屏幕上它就会在断点处停止.

我只能猜测原因是当滚动第一个组件时,第二个组件中假定的行数不断变化,但同时,UIPickerView它要求第二个组件的标题和编号,然后崩溃.

但我还没有找到任何可用于判断组件是否正在滚动的方法.所以我找不到正确的时间来拒绝pickerView's delegatedataSource第二个组件的请求.

有没有人遇到类似的情况?

谢谢你的帮助!我很感激!


在我的代码中,错误是关于typePicker,所以我删除了所有其他与之无关的代码typePicker.

这里,typedetailTypes是Core Data中的两个实体,并且称为detailsfrom type到to的多对多关系detailsTypes.

例如,如果类型是"国家",那么detailTypes它将是"美国","法国","中国"等.

因此typePicker,在第一个或第二个组件显示所有类型实体,第二个或右侧组件detailTypes根据第一个组件中当前选择的类型显示相应的实体.

并且两个组件的第一行typePicker始终为"无",以允许用户不选择特定类型,这就是代码中有许多"+1"的原因.

- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
if (pickerView == self.typePicker)
        return 2;
    return 1; …
Run Code Online (Sandbox Code Playgroud)

crash objective-c uipickerview ios nszombies

3
推荐指数
1
解决办法
2384
查看次数

没有核心数据自动处理反向关系

我有3个这样的实体:

对不起,这个图片有一个问题,即

对不起,这个图片有一个问题,即"周"实体的"日"关系应该是多个,关系结束时应该有2个箭头

现在这里有两个问题.

1.对于任何Day-Class(NSManagedObject的自定义子类)对象,在我关注它之间的关系之后:

Week* aWeek;
Day *aDay;
[aWeek addDayObject:aDay];
Run Code Online (Sandbox Code Playgroud)

然后,我可以真正找到通过周实体的关系"日",

但相反,我发现日间对象"aDay"的关系"thisWeek"仍为零.

我听说你创建了NSMangedObject的子类之后,就得到了类似的方法

- (void)addXXXObject:(xxx)xxx
Run Code Online (Sandbox Code Playgroud)

帮助您处理多对多关系,并自动处理反向关系.

但这里似乎没有.所以我必须自己处理反向关系,

或者如果核心数据确实提供了,我如何使其自动添加对象关系?

第2位.假设有许多"日",其中一个"周",由他们的关系相连,

我想要的是,每当用户删除其中一天时,我们会检查周是否仍有一些天关系,

如果是,只要让用户删除该日,

如果没有,我们也删除"周"对象.

那么我应该使用多少关系的删除规则呢?

我对这些规则不太清楚..

谢谢!

inverse one-to-many relationship nsmanagedobject ios

2
推荐指数
1
解决办法
2037
查看次数

动态方法名称(Objective-C)

我有几种方法,如下所示:

- (void)methodA;
- (void)methodB;
- (void)methodC;
Run Code Online (Sandbox Code Playgroud)

并根据某些条件使用它们.

现在我想动态使用它们,我试过这个:

NSString *methodName;
if(_flag == A) methodName = @"methodA";
else if (_flag == b) methodName = @"methodB";
else methodName = @"methodC";

[self performSelector:@selector(methodName)];
Run Code Online (Sandbox Code Playgroud)

但似乎错了.

那么,根据不同的情况,我应该如何为给定的接收器使用动态方法名称?

非常感谢!

dynamic objective-c selector ios

2
推荐指数
1
解决办法
956
查看次数

为什么我的iPhone应用程序如此之大?

我做了一个iPhone应用程序,它相对较大,大约40mb +; 后来我减少了我使用的所有PNG图像,这导致原来的~110mb +项目文件减少到~40mb +.

然而,当我重建我的应用程序时,我发现产品仍然myApp.app是~40mb +,甚至比以前多一点.

那么为什么这样,我怎么能减少我的应用程序的大小?

product ios

2
推荐指数
1
解决办法
3890
查看次数

我无法触摸的UIButton

我在pickerView上面做了一个按钮来解雇它.我想我已经做到了,这里是启动pickerView的代码以及它的dismiss按钮.

    UIPickerView *tempPickerView = [[[UIPickerView alloc] initWithFrame:
        CGRectMake(kPickerViewX, kPickerViewY, kPickerViewWidth, kPickerViewHeight)] autorelease];
    tempPickerView.showsSelectionIndicator = YES;
    tempPickerView.delegate = self;
    tempPickerView.dataSource = self;
    UIButton *pickerButton = [[UIButton alloc] initWithFrame:CGRectMake(0, -32, 52, 32)];
    [pickerButton setBackgroundImage:[UIImage imageNamed:@"week.png"] 
         forState:UIControlStateNormal];
    [pickerButton addTarget:self action:@selector(hidePicker) 
         forControlEvents:UIControlEventTouchUpInside];
    [tempPickerView addSubview:pickerButton];
    [tempPickerView bringSubviewToFront:pickerButton];
    [pickerButton release];

    [self.view addSubview:tempPickerView];
    return tempPickerView;
Run Code Online (Sandbox Code Playgroud)

它看起来像这样:

在此输入图像描述

那个按钮位于pickerView的左上角,忘记了"周",它只是一个临时名称.

问题是,我无法触摸此按钮,每次我试图触摸它,我只是直接触摸它背后的东西,如talbeViewCell.

是因为我在pickerView的框架外添加了按钮?

我的意思是按钮原点的坐标是(0,-32),

所以它会显示在pickerView上方,坐标有问题吗?

任何人都可以告诉如何解决这个问题?

非常感谢和很多!!!

iphone events picker touch uibutton

1
推荐指数
1
解决办法
505
查看次数

在iOS上使用NSMutableDictionary进行内存管理

我将手动管理NSMutableDictionay的内存,而不使用自动释放.并且mutableDictonary中的每个对象都是NSArray,每次我在mutableDictionary中添加一个数组时,我将使用

NSArray *newArray = [[NSArray arrayWithArray:anArray] retain]
[mutableDict setObject:newArray forKey:@"aKey"];
Run Code Online (Sandbox Code Playgroud)

问题是,我怎么能保证没有内存泄漏?我在dealloc中直接使用[mutableDict release]是好的吗?mutableDict的retainCount是否等于其对象的所有retainCounts(保留的数组)的总和?

memory-management objective-c nsmutabledictionary retaincount

0
推荐指数
1
解决办法
526
查看次数

在UIScrollView中缩放照片

我有一个UIScrollView,它唯一的缺点是从相机显示单个照片令牌或从照片库中选择.

但是有一个问题 - 照片的方向,

我的意思是,"垂直"照片(高度>宽度的照片)与"水平"照片(宽度>高度).

而我想要的就像在系统照片应用程序中显示一张照片,

我可以舒适地缩放垂直和地平线照片

首先,这是我的自定义PhotoView的代码(主要控制UIScrolView和UIImageView)

// .h
@interface PhotoView : UIView
<UIScrollViewDelegate>{
    UIScrollView *myScrollView;
    UIImageView *photoView;
}
...
@end
// .m
- (void)refreshPhoto:(UIImage *)aPhoto {
    if (aPhoto) {
        CGSize photoSize = aPhoto.size;
        CGSize scrollSize = self.myScrollView.frame.size;
        if (photoSize.height > photoSize.width) { // vertical photo
            self.photoView.frame = CGRectMake(0, 0, scrollSize.width, scrollSize.height);
        }
        else { // horizontal photo, initially it should be zoomed out to fit the width of myScrollView
            CGFloat factor = photoSize.width / scrollSize.width;
            self.photoView.frame = CGRectMake(0, …
Run Code Online (Sandbox Code Playgroud)

photo zoom uiscrollview uiimageview bounce

0
推荐指数
1
解决办法
3725
查看次数