小编Wen*_*idd的帖子

iOS Animate Dashed Rectangle Border

我有一个显示图像的UIImageView.我想通过绘制圆角矩形轮廓来"突出显示"图像的一部分.我希望用粗虚线绘制轮廓,通过不断变化线的"开始"开始的地方"动画".

我想要绘制一个具有我想要的外观的圆圈,然后简单地为它制作动画,但我真的需要一个矩形解决方案,所以这就是了.

背景:

我通过计算8个点并绘制4条直线和4条曲线来绘制圆角矩形边框.(也许这可以更容易,但它不是破碎的部分!)

我的想法是,我将使用一个"偏移"变量,该变量从圆角矩形的左上角开始,左上角的曲线与顶部的直线曲线相交.然后,我将在圆角矩形的顶部增加这个"偏移",直到它到达右上曲线,然后我将"偏移"变量"重置"为其原始值.

这很像我想要的,直到"重置"发生.此时,动画是生涩的(预期的那种),但在恢复"前进"动作之前,它似乎也会在一小部分时间内反向行进.最后,在我的虚线的开头/结尾,我在虚线上得到一个超长段.我知道它们不可能都是等长的(它们可以吗?如何计算?),但是如何制作2个较短的段而不是1个较长的段?

任何人都知道我能做些什么来获得顺畅的"行军蚂蚁"的样子?一个好的方法(使用动画)的任何其他想法将用户的眼睛调用到屏幕的特定区域?(它需要包围特定区域而不会遮挡它.)

当前代码:

- (void)drawRect:(CGRect)rect
{
    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextClearRect(context, rect);

    // Rounded corner will be 10% of average side length (i.e., (w + h) / 2)
    float averageSide = ([self HighlightRect].size.width + [self HighlightRect].size.height) / 2.0;
    float roundSize = averageSide * 0.10;

    // offset is a static, class variable
    offset += roundSize / 4.0;
    if ([WhereIAmView offset] < roundSize) {
        offset = roundSize;
    }
    if ([WhereIAmView offset] > ([self HighlightRect].size.width - roundSize)) { …
Run Code Online (Sandbox Code Playgroud)

animation border ios

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

动画绘制CAShapeLayer的填充

我一直在玩这个伟大的文章http://oleb.net/blog/2010/12/animating-drawing-of-cgpath-with-cashapelayer中描述的使用CAShapeLayer绘制路径,但我是想知道是否有办法为图层的填充设置动画.

例如,我有一些我想在屏幕上绘制的文字,但我只能绘制文本的笔划而不是填充.另一个例子,我有一个星形,我想动画它被填充.

这可能使用CAShapeLayer或其他对象吗?

谢谢!

animation core-animation calayer cashapelayer ios

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

在UIWebView(iOS)中侦听事件

我正在尝试从我在iOS应用程序中的UIWebView中打开的网页上收听事件(特别是按钮点击).我知道在其他语言中有一些方法可以将事件监听器附加到某些Web调用,但我还没有找到在Objective-C中执行此操作的方法.我也没有在网上发现任何人说不能这样做,所以我决定应该问.我在文档中看到你可以通过Javascript进行Objective-C调用,但是我无法控制我想监视的网页.所以我需要一个允许我完全在Objective-C中监听这个事件的解决方案.

编辑:如果细节有帮助,我试图让用户在Facebook上制作一个wallpost.我正在UIWebview(http://www.facebook.com/sharer/sharer.php?u=)中加载Facebook共享页面,并希望监视用户何时单击"共享链接"以便我可以关闭Web视图.

谢谢大家的时间!

objective-c event-handling uiwebview ios

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

在插入之前找到QWidget的高度

我有一个小部件插入,看起来像这样

+--------------------+
| +-------++-------+ |
| |       ||       | |
| |       ||       | |
| |       || Label | |
| | Label || Label | |
| |       ||       | |
| |       ||       | |
| +-------++-------+ |
+--------------------+
Run Code Online (Sandbox Code Playgroud)

包含两个QVBoxLayouts的QWidget元素,每个QVBoxLayout包含一个或多个QLabel.
这个小部件将被插入一个具有拉伸单元的垂直布局中,因此这种小部件将到达顶部并缩小到可能的较小高度.

导致这样的事情.

______________________ ? Layout boundary
+--------------------+
| +-------++-------+ |
| |       || Label | |
| | Label || Label | | ? Widget shrunk to the smallest
| +-------++-------+ |
+--------------------+
______________________ ? Layout boundary …
Run Code Online (Sandbox Code Playgroud)

height layout animation qt widget

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

Game Center不响应authenticateWithCompletionHandler请求(iOS)

这是我的情况:

1)用户第一次打开我的应用程序.我立即调用authenticateLocalUser尝试将它们登录到Game Center.已成功显示带有"登录","创建帐户"和"取消"按钮的弹出窗口.

2)用户现在不想登录,因此他们单击"取消".(这不是他们第三次点击'取消',我没有收到'禁用游戏中心,从游戏中心应用程序登录以启用'消息.)用户可以继续正常使用我的应用程序.

3)用户以后想要使用Game Center,所以他们点击我给他们的按钮登录游戏中心.我再次调用authenticateLocalUser.这次,弹出窗口不会出现.实际上没有任何反应,除了我收到这些控制台日志消息:

2012-04-26 08:38:42.861 Clink[332:707] authenticateWithCompletionHandler: enter
2012-04-26 08:38:42.863 Clink[332:707] authenticateWithCompletionHandler: exit
Run Code Online (Sandbox Code Playgroud)

4)我已经测试过两次立即按下再次调用authenticateLocalUser的按钮,并且在这之前等待很长一段时间.无论什么时候我再次调用authenticateLocalUser,再一次没有出现,我从函数中得到这个错误:

Error Domain=GKErrorDomain Code=7 "The requested operation could not be completed because local player is already authenticating."
Run Code Online (Sandbox Code Playgroud)

所以似乎正在发生的事情是,当我在步骤3中调用authenticateLocalUser时,我要求Game Center进行身份验证,但它已挂起并且没有响应我的请求.然后在第4步,当我再次尝试时,它告诉我它无法处理我的请求,因为它已经在尝试进行身份验证.但是我已经等了10分钟才得到第3步中我的请求的响应,而且我从来没有从游戏中心获得一个.

这是我的authenticateLocalUser函数的内容.据我所知,我没有从我从Apple的示例代码下载的版本中更改它.

- (void) authenticateLocalUser
{
    if([GKLocalPlayer localPlayer].authenticated == NO)
    {
        [[GKLocalPlayer localPlayer] authenticateWithCompletionHandler:^(NSError *error) 
        {
             [self callDelegateOnMainThread: @selector(processGameCenterAuth:) withArg: NULL error: error];
        }];
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有其他人遇到过这个问题或对可能发生的事情有任何想法?我已经看了一段时间,我不确定发生了什么.

提前致谢!!

objective-c gamekit ios game-center

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

哪一个最好计算两点之间的距离?

我试图计算谷歌地图中两点之间的距离.我发现他们正在使用的某些链接
distanceTo()以及使用它计算的某个地方distanceBetween().哪个最好计算距离?

android distance

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

在Map中添加两次相同的键

我正在研究Maps,我发现如果我故意两次添加相同的密钥,那么Map的大小保持不变.这背后的技术原因是什么?

 Map map=new HashMap();//HashMap key random order.
         map.put("Amit","Java");
         map.put("Amit","Java");
Run Code Online (Sandbox Code Playgroud)

检索代码......

System.out.println("There are "+map.size()+" elements in the map.");
         System.out.println("Content of Map are...");
         Set s=map.entrySet();
         Iterator itr=s.iterator();
         while(itr.hasNext())
         {
             Map.Entry m=(Map.Entry)itr.next();
             System.out.println(m.getKey()+"\t"+m.getValue()+"\t"+ m.hashCode());
          }
Run Code Online (Sandbox Code Playgroud)

结果我得到:

There are 1 elements in the map.
Content of Map are...
Amit    Java    3943477
Run Code Online (Sandbox Code Playgroud)

java collections hashmap

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

无法进入的基类

我正在用SDL写一个简单的游戏.我有一个类heirarchy,我正在构建我在游戏中使用的任何精灵.基类是Sprite,它包含碰撞框和spritesheet的数据抽象.直接在它下面是两个抽象类,Character和MapObject.

我目前正在实现从Character派生的Player类(Enemy和NPC也将派生自抽象Character类).

无论如何,希望这是有道理的.我的问题是:

当我尝试在引擎中使用播放器类时,我无法访问任何Sprite函数.

我收到以下错误:

'Sprite' is not an accessible base of 'Player'
Run Code Online (Sandbox Code Playgroud)

以下是头文件:

Sprite.h:

class Sprite{
public:
    virtual ~Sprite() = 0;  //I want this to be an abstract class and yes this is defined in the cpp

    //Initialization functions - MUST be called before anything else in the class can be used.
    void setupCollider(int xo, int yo, int ho, int wo);
    void setupSheet(SDL_Surface* dest, std::string file, int numClips, int ac, int _res, int sr);

    //SpriteSheet functions
    void setActiveClip(int a); …
Run Code Online (Sandbox Code Playgroud)

c++ polymorphism inheritance class

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

c ++未定义的静态变量引用

我不知道为什么这段代码不起作用.所有的源文件都编译好了,但是当我尝试链接它们时,编译器会因为未定义的引用错误而对我大喊大叫.这是代码:

main.cpp中:

#include "SDL/SDL.h"
#include "Initilize.cpp"

int main(int argc, char* args[]) 
{
    //Keeps the program looping
    bool quit = false;
    SDL_Event exit;
    //Initilizes, checks for errors
    if(Initilize::Start() == -1) 
    {
        SDL_Quit();
    }
    //main program loop
    while(quit == false) 
    {
        //checks for events
        while(SDL_PollEvent(&exit)) 
        {
            //checks for type of event;
            switch(exit.type) 
            {
                case SDL_QUIT:
                quit = true;
                break;
            }
        }
    }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

Initilize.h:

#ifndef INITILIZE_H
#define INITILIZE_H
#include "SDL/SDL.h"

/* Declares surface screen, its attributes, and Start(); */
class …
Run Code Online (Sandbox Code Playgroud)

c++ linker sdl reference undefined

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

Xcode 7 - 无法展开"项目/目标"选项卡

我完全被一项应该是一项相当简单的任务所困扰.Xcode 7中的我的项目/目标选项卡的宽度已缩短,如下所示.

在此输入图像描述

所有尝试将区域的最右侧向右拖动以扩展宽度的尝试都失败(如果我将鼠标悬停在右边界线上,我可以得到小箭头,但是点击+拖动结果没有变化).我已关闭/重新打开选项卡,重新启动xcode ...没有任何作用.我错过了什么?或者,有没有办法将宽度重置为原始值?有一段时间(就在几天前)宽度适合显示内部文本.

ide xcode ios-targets xcode7

8
推荐指数
3
解决办法
631
查看次数