小编rob*_*era的帖子

Cmake错误:无法加载缓存

我正在使用Cmake尝试为Eclipse构建项目.当我尝试运行Cmake时,我收到以下错误:

Error: could not load cache
Error: Batch build stopped due to Eclipse CDT4 - Unix Makefiles error.
---- Time Elapsed: 3 secs ----
Error: could not load cache
Error: Batch build stopped due to Eclipse CDT4 - Unix Makefiles error.
Run Code Online (Sandbox Code Playgroud)

我完全不知道可能导致这种情况的原因.我知道我在正确的目录中运行Cmake并且存在CMakeCache.txt文件.有人能指出我正确的方向来解决这个问题吗?

cmake

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

运行应用程序时,Xcode中的调试区域关闭

在Xcode 4中,每次运行应用程序时调试区域都会关闭,即使我在运行Run之前打开了调试区域.

无论如何要确保如果我已经打开调试区域,那么当我运行我的应用程序时它将保持打开状态?这样可以节省大量时间,因为每次执行代码时都不需要重新打开它.

xcode4

11
推荐指数
2
解决办法
4235
查看次数

UISwitch在以编程方式更改时不发送valueChanged事件

我有一对UISwitch通过valueChanged事件连接到IBAction.触摸开关时,valueChanged事件正常触发.但是,如果我以编程方式更改其中一个开关,则不会调用我的IBAction.

- (IBAction)switchChanged:(UISwitch *)sender {
    if (sender == self.shippingSwitch) {
        if (self.shippingSwitch.on && !self.PayPalSwitch.on) {
            [self.PayPalSwitch setOn:YES animated:YES];
        }
    }

    if (sender == self.PayPalSwitch) {
        if (!self.PayPalSwitch.on) {
            // This is not working when the PayPal switch is set via the code above
            self.PayPalEmailField.backgroundColor = [UIColor grayColor];
            self.PayPalEmailField.enabled = NO;

            if (self.shippingSwitch.on) {
                [self.shippingSwitch setOn:NO animated:YES];
            }
        } else {
            self.PayPalEmailField.backgroundColor = [UIColor clearColor];
            self.PayPalEmailField.enabled = YES;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

objective-c uiswitch ios

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

以编程方式添加约束不起作用

我一直在尝试以编程方式将约束添加到我正在以编程方式添加到视图控制器的视图中.然而,似乎没有遵循约束.

该视图已添加到视图控制器的故事板中,但直到稍后才会实际添加到视图控制器的视图中(请参见下面的屏幕截图).

在此输入图像描述

我尝试过添加各种约束,但到目前为止还没有任何约束.我现在把它简化为下面的单一约束,即使这样也行不通.我究竟做错了什么?

@IBOutlet var loadingView: LoadingView!

override func viewDidLoad() {
    super.viewDidLoad()
    displayLoadingView(true)
}

func displayLoadingView(display: Bool) {
    if display {
        view.addSubview(loadingView)

        let widthConstraint = NSLayoutConstraint(item: loadingView, attribute: .Width, relatedBy: .Equal, toItem: nil, attribute: .NotAnAttribute, multiplier: 1.0, constant: 50.0)

        view.addConstraint(widthConstraint)
    }
}
Run Code Online (Sandbox Code Playgroud)

constraints ios swift

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

SwiftUI 拖动以关闭 ScrollView

我想在 SwiftUI 中通过拖动来关闭滚动视图,如果您在内容顶部(偏移量 0)时继续拖动,它会关闭视图。

我正在努力在 SwiftUI 中实现这一点,但发现它相当困难。似乎我可以识别DragGesture或允许滚动,但不能同时识别两者。

我需要避免使用UIViewRepresentable并使用纯 SwiftUI 解决这个问题或尽可能接近。否则,它可能会使我的应用程序的其他部分的开发变得困难。

这是我遇到的问题的示例:

import SwiftUI

struct DragToDismissScrollView: View {
    enum SeenState {
        case collapsed
        case fullscreen
    }

    @GestureState var dragYOffset: CGFloat = 0
    @State var scrollYOffset: CGFloat = 0
    @State var seenState: SeenState = .collapsed

    var body: some View {
        GeometryReader { proxy in
            ZStack {
                Button {
                    seenState = .fullscreen
                } label: {
                    Text("Show ScrollView")
                }

                /*
                 * Works like a regular ScrollView but provides updates …
Run Code Online (Sandbox Code Playgroud)

uiscrollview gesture ios swiftui

6
推荐指数
0
解决办法
1263
查看次数

iOS CMake install(targets ...) 函数使用错误的文件夹

使用 iOS.cmake 工具链(位于此处https://code.google.com/p/ios-cmake/)时,我的构建文件夹从Debug和更改ReleaseDebug-iphoneosRelease-iphoneos

这不是问题,除非我尝试运行以下代码:

install(TARGETS ${PROJECT_NAME} 
        RUNTIME DESTINATION bin COMPONENT development
        ARCHIVE DESTINATION lib COMPONENT development 
        LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT development NAMELINK_SKIP)
install(TARGETS ${PROJECT_NAME} 
        RUNTIME DESTINATION bin COMPONENT runtime
        ARCHIVE DESTINATION lib COMPONENT source 
        LIBRARY DESTINATION ${MYPROJECT_LIB_SUBDIR} COMPONENT source NAMELINK_SKIP)
Run Code Online (Sandbox Code Playgroud)

这段代码给了我以下错误:

-- Install configuration: "Release"
-- Install component: "development"
CMake Error at cmake_install.cmake:54 (FILE):
  file INSTALL cannot find
  "/Users/username/Documents/Projects/MyFramework/src/ios-build/MyProject/Release/libMyProject.a".

-- Install configuration: "Debug"
-- Install component: "development"
CMake Error at …
Run Code Online (Sandbox Code Playgroud)

cmake ios

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

iPad的着色器文件警告(第1代)

我目前正在为iPad制作一个OpenGL ES 2.0绘图应用程序,并且我不断收到有关着色器的以下警告:

检查依赖项

[WARN]警告:没有规则处理架构i386类型sourcecode.glsl的'$(PROJECT_DIR)/ IdeaStorm/Drawing Engine/Shaders/Shader.fsh'文件

[WARN]警告:没有规则处理架构i386类型sourcecode.glsl的'$(PROJECT_DIR)/ IdeaStorm/Drawing Engine/Shaders/Shader.vsh'文件

我的绘图应用程序目前在iOS 2的第二代iPad上正常运行,除了这个错误,并且在模拟器中运行也很好.

然而,有一天,我尝试在我的朋友第一代iPad上使用iOS 4.3运行它,并且着色器无法编译.

任何人都可以指出我的正确方向是关于这个警告和着色器为第一代iPad编译的失败?

opengl-es objective-c ios opengl-es-2.0

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

Swift使用委托实现多个协议

我正在尝试实现一个本身继承多个协议的协议,这些协议都有一个委托成员.是否有一种干净的方法来执行此操作而不需要为每个协议的委托使用不同的名称?

protocol ProtocolOne {
    var delegate: ProtocolOneDelegate?
}

protocol ProtocolTwo {
    var delegate: ProtocolTwoDelegate?
}

protocol CombinedProtocol: ProtocolOne, ProtocolTwo {

}

protocol CombinedDelegate: ProtocolOneDelegate, ProtocolTwoDelegte {

}

class ProtocolImpl: CombinedProtocol {
    // How can I implement delegate here?
    // I've tried the following options without success:
    var delegate: CombinedDelegate?
    var delegate: protocol<ProtocolOneDelegate, ProtocolTwoDelegate>?
}
Run Code Online (Sandbox Code Playgroud)

delegates protocols swift

3
推荐指数
2
解决办法
4336
查看次数

realloc仅以2的幂增加分配

当我在我的iOS应用程序中使用realloc时,它似乎总是以2的幂而不是我指定的方式增加应用程序中的内存.

当我根据其存储的对象的大小检查分配的大小时,这会导致一些问题.

这是realloc的设计方式还是我做错了什么?

typedef struct {
    GLfloat r;
    GLfloat g;
    GLfloat b;
    GLfloat a;
} Color;

typedef struct {
    int objectID;
    int modelID;
    GLfloat scale;
    GLfloat translation[3];
    GLfloat rotation[3];
    Color color;
    bool render;
} Object;

Object* objects;

objects = realloc(objects, malloc_size(objects) + sizeof(Object));

NSLog(@"objects size = %lu", malloc_size(objects)); //prints 64 instead of 56
Run Code Online (Sandbox Code Playgroud)

objective-c realloc ios

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