小编n.e*_*ind的帖子

iPhone:如何将照片转换为铅笔画

我想知道将照片转换成铅笔画的步骤是什么.人们通常建议:

  1. 反转图像(使负面)
  2. 应用高斯模糊
  3. 通过线性闪避或颜色闪避来混合上面的图像.

请参见此处:将图像转换为铅笔草图

还有其他方法吗?我特别感兴趣的是强调铅笔笔触的方法,比如iPhone App:Snap和Sketch

对于如何开始的任何建议,我将非常感激.

cocoa-touch core-graphics objective-c ios

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

在iOS上以编程方式向按钮添加操作

我正在尝试向我以编程方式创建的按钮添加操作:

        [btn    addTarget:self
            action:@selector(indexAction)
     forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

这很好用.但是,我现在想要将一个变量(int k)传递给indexAction方法.我无法让这个工作:

        [btn    addTarget:self
            action:@selector([self indexAction:k])
     forControlEvents:UIControlEventTouchUpInside];
Run Code Online (Sandbox Code Playgroud)

我确信我做错了什么.这是上面代码的上下文:

  -(void) initIndexButtons {

    float buttonPadding = -8;
    float buttonWidth = 23;
    float buttonHeight = 80;
    CGRect frame = CGRectMake(0,0,0,0);
    for (int k=0;k<5;k++)
    {
        UIButton* btn = [[UIButton alloc] initWithFrame:frame];;        btn.tag = k;
        btn.frame = CGRectMake(0, k*(buttonPadding+buttonHeight), buttonWidth, buttonHeight);

        UIImage *newImage = [UIImage imageNamed:@"index.png"];
        [btn setBackgroundImage:newImage forState:UIControlStateNormal];

        [btn    addTarget:self
                action:@selector(self indexAction:k)
         forControlEvents:UIControlEventTouchUpInside];
    }
}

-(void)indexAction:(int *)buttonTag
{
    NSLog(@"buttonTag: %i", buttonTag);
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我将代码更改为:

// ...
[btn    addTarget:self
                action:@selector(indexAction:) …
Run Code Online (Sandbox Code Playgroud)

cocoa-touch objective-c uibutton ios

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

如何防止UILabel切断'...'

我想知道是否有办法阻止UILabel切断'...'?我有一个宽度为55,高度为20的CGRect,我希望它在55之后简单地切断(或剪掉内容)而不用"......"表示还有更多.

        UILabel *btnTitle = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 55, 20)];
    btnTitle.text = labelMe;
    btnTitle.textColor = [UIColor whiteColor];
    btnTitle.backgroundColor = [UIColor clearColor];
    btnTitle.transform = CGAffineTransformMakeRotation( ( 90 * M_PI ) / 180 );
Run Code Online (Sandbox Code Playgroud)

通过将UILabel(增加宽度,即100 x 20)放入UIView(55 x 20)并将clipsToBounds设置为YES,结果我无法再点击我的按钮,我实现了我想要的(即裁剪) - 因为我使用标签来标记按钮.包含标签的UIView隐藏了我的按钮......

有没有办法解决这个问题而不使用UIView剪辑我的UILabel的内容?

iphone cocoa-touch objective-c uilabel

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

如何向数组添加整数?

这一定是非常基本的,但我想知道如何在数组中添加整数?

我知道我可以添加这样的字符串:

NSMutableArray *trArray = [[NSMutableArray alloc] init];
[trArray addObject:@"0"];
[trArray addObject:@"1"];
[trArray addObject:@"2"];
[trArray addObject:@"3"];
Run Code Online (Sandbox Code Playgroud)

但我想我不能简单地添加这样的整数:

NSMutableArray *trArray = [[NSMutableArray alloc] init];
[trArray addObject:0];
[trArray addObject:1];
[trArray addObject:2];
[trArray addObject:3];
Run Code Online (Sandbox Code Playgroud)

至少编译器对此并不满意,并且告诉我,我正在进行演员而没有告诉它.

任何解释都将非常感谢.

iphone cocoa-touch objective-c

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

与iPhone DropBox API的简单同步

我对DropBox API感到有点沮丧.它应该是简单而直接的,但我还没有简单明了地解释如何进行简单的同步.

我按照DropBox API自述文件中的所有说明进行了操作.为了测试整个事情,我创建了两个按钮来下载文件或从我的DropBox上传文件.这些文件位于我的应用文档文件夹中.

这非常有效:

    -(void) DBupload:(id)sender
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"MyExample.txt"];
    // NSError *error;
    [self.restClient uploadFile:@"MyExample.txt" toPath:@"/MyExamplePath" fromPath:filePath];
}

-(void) DBdownload:(id)sender
{
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents directory
    NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"MyExample.txt"];
    NSError *error;
    [self.restClient loadFile:@"/myExamplePath/MyExample.txt" intoPath:filePath];
}
Run Code Online (Sandbox Code Playgroud)

但是,我现在想知道如何实现简单的同步.现在,我可以手动上传和下载.但我需要同步的是:

  • 找出我的应用程序文件夹或我的DropBox文件夹中的MyExample.txt是否更新
  • 如果App的文件夹中的txt更新:将其放入dropbox(覆盖旧的),即调用我的DBupload方法
  • 如果下拉框中的txt更新:将其下载到apps文件夹中,即调用我的DBdownload方法

也许我只是太愚蠢了,但dropBox细节在某处如何实现这个相当简单和直接的任务?

我知道有这个,但它并没有给出任何代码示例.

谢谢你的任何建议.


编辑

好的,所以我想我的第一步是找出在dropBox中找到的MyExample.txt的最后修改日期.

我写了一个名为DBsync的奇妙方法,我只需输入以下命令:

 -(void) DBsync
{ …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c dropbox-api

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

setTransform:CGAffineTransformMakeScale - 尝试缩放UIView时的替代方法

我使用以下内容将视图缩放到原始大小的3倍:

[pageShadowView setTransform:CGAffineTransformMakeScale (3, 1)];
Run Code Online (Sandbox Code Playgroud)

我想有一个方法来测试我的UIView(pageShadowView)是否已经缩放 - 在这种情况下我想将它除以3,以便它恢复到正常大小.

我想不出任何能做到这一点的方法.所以我认为最好测试我的UIPageView是否具有某个尺寸,以及是否不将其重新缩放到原始尺寸.

所以我的问题是,是否有一种方法可以将UIView缩放到某个不相对的宽度和高度(即其大小的3倍),但以像素表示(例如200像素x 300像素).我在文档中找不到任何东西,说实话,当谈到CGAffineTransform部分时,我有点头脑.

任何建议将非常感谢!

iphone cocoa-touch objective-c uiview cgaffinetransform

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

在iPhone应用程序中嵌入Ligature字体

我想知道如果我在我的iPhone应用程序中尝试使用具有大量连字的字体会发生什么?我无法尝试使用该字体,因为我需要先购买它,但如果我的iPhone应用程序无法使用连字,则不想浪费钱.

这是我正在谈论的字体:亲爱的乔3

我尝试在我的iPhone应用程序中使用阿拉伯语,这非常有效.阿拉伯语是一个充满连字的脚本,但话说回来,Apple可能只支持阿拉伯语的这种特殊的连字字体而不是其他字体.

如果您在购买昂贵的字体之前有任何关于如何测试这一点的建议,我将非常感激......

谢谢!

iphone fonts cocoa-touch objective-c

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

iPhone:设置所需的滑动手势长度

我想知道是否有一种简单的方法来设置最小滑动长度,即用户需要滑动的像素长度,以便将手势识别为滑动.

我注意到普通滑动可能反应迟钝(例如,与在照片库中滑动照片相比).

这是正常的方法,但我想减少滑动所需的长度:

    - (void)viewDidLoad 
    {


    // SWIPING GESTURES:

    UISwipeGestureRecognizer *swipeLeftRecognizer;
    swipeLeftRecognizer=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(foundLeftSwipe:)];
    swipeLeftRecognizer.direction=UISwipeGestureRecognizerDirectionLeft;
    //swipeRecognizer.numberOfTouchesRequired=1;
    [self.view addGestureRecognizer:swipeLeftRecognizer];
    [swipeLeftRecognizer release];

    UISwipeGestureRecognizer *swipeRightRecognizer;
    swipeRightRecognizer=[[UISwipeGestureRecognizer alloc] initWithTarget:self action:@selector(foundRightSwipe:)];
    swipeRightRecognizer.direction=UISwipeGestureRecognizerDirectionRight;
    //swipeRecognizer.numberOfTouchesRequired=1;
    [self.view addGestureRecognizer:swipeRightRecognizer];
    [swipeRightRecognizer release];


    [super viewDidLoad];
}

#pragma mark -
#pragma mark Swipes

- (void)foundLeftSwipe:(UISwipeGestureRecognizer *)recognizer {
    // do something
}

- (void)foundRightSwipe:(UISwipeGestureRecognizer *)recognizer {
    // do something
    }
Run Code Online (Sandbox Code Playgroud)

我记得有一种方法可以获得像素的起始位置和结束位置然后比较两者,但只是想知道是否有更简单的方法,即只需在代码中定义一个最小所需滑动长度的值这里.


编辑:

这是我记录整个事情的方式:

    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    UITouch *touch = [touches anyObject];
    gestureStartPoint = [touch locationInView:self.view];
}

- (void)touchesMoved:(NSSet *)touches …
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c swipe

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

Cocoa-Touch:如何确定CGPoint是否在某个CGRect中?

我想知道是否有一种简单的方法来确定某个CGRect中是否存在某个点?

我有这个来获取用户触摸屏幕的位置:

UITouch *touch = [touches anyObject];    
CGPoint currentPosition = [touch locationInView:self.view];
Run Code Online (Sandbox Code Playgroud)

不,我想知道这一点是否在以下矩形中:

CGRect aFrame = CGRectMake(0, 100, 320, 200);
Run Code Online (Sandbox Code Playgroud)

以下显然不起作用:

if (currentPosition = aFrame) {//do something}
Run Code Online (Sandbox Code Playgroud)

我会感激任何帮助.非常感谢!

iphone cocoa-touch objective-c uitouch cgpoint

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

如何确定scrollView是否要向上或向下滚动

我想知道scrollView是向上还是向下滚动.理想情况下,如果向上或向下滚动scrollView,我只想进行一次调用.我尝试了这个,但显然不会告诉我有关方向的任何信息:

-(void)scrollViewWillBeginDragging:(UIScrollView *)scrollView {
    NSLog(@"%.2f", scrollView.contentOffset.y);
}
Run Code Online (Sandbox Code Playgroud)

contentOffset将始终为0 - 无论我是向上还是向下滚动都无关紧要.现在我可以简单地检入 - (void)scrollViewDidScroll:如果偏移量是正数或负数,但这是不断调用的.scrollViewWillBeginDragging的优点是只调用一次,这就是我需要的.是否有类似scrollViewDidBeginDragging的东西?我没有在文档中找到任何内容.任何聪明的解决方法?

cocoa-touch objective-c scrollview ios

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