2012-04-19 33 views

Trả lời

125

Không thể thực hiện chính xác giống như với Trình mô phỏng, nhưng có một cách hay để hoàn thành cùng một hiệu ứng khi sử dụng lldb.

Sử dụng trình gỡ lỗi để tạm dừng thực thi mã, và sau đó nhập lệnh:

p [(CALayer *)[[[[UIApplication sharedApplication] windows] objectAtIndex:0] layer] setSpeed:.1f] 

vào trình gỡ lỗi.

Nhờ có giải pháp this link.

+13

Cần lưu ý rằng điều này có thể được đơn giản hóa thành '[self.window.layer setSpeed: .1f];' nếu được sử dụng trong thời gian chạy trong '-appli của đại biểu ứng dụng cation: didFinishLaunching…: 'phương thức. (Giả sử bạn vẫn đang sử dụng thuộc tính 'window' mà mẫu ứng dụng ủy nhiệm cung cấp cho bạn theo mặc định, tất nhiên.) –

+2

Câu trả lời hay, điều này thậm chí còn tốt hơn Trình mô phỏng, tôi có rất nhiều hoạt ảnh chạy cùng một lúc, 0.1F vẫn còn quá nhanh đối với tôi, vì vậy tôi đặt nó thành 0.02F. Và bây giờ tôi có thể nhìn thấy nơi mà các lỗi được. : D: D: D THANX A LOOOOOOT – MQoder

+1

Điều này có thể được đơn giản hóa trong lldb thành chỉ 'expr - [(UIApplication *) UIApp keyWindow] .layer.speed = 0.1f' –

13

Đối Swift Apps:

Halt mã của bạn với một breakpoint và nhập lệnh LLĐB sau:

(lldb)p UIApplication.sharedApplication().windows.first?.layer.speed = 0.1


Hoặc bạn có thể rõ ràng cũng thay đổi tốc độ một nơi nào đó trong bạn mã. Ví dụ với một vĩ mô #if Preprocessor lúc khởi động ứng dụng

func application(application: UIApplication, 
    didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool 
{ 
    ... 

    #if DEBUG 
     application.windows.first?.layer.speed = 0.1 
    #endif 

Đừng quên để thiết lập các biểu tượng DEBUG trong "Swift Compiler - Flags Custom" phần "Flags Swift khác" dòng. Bạn thêm biểu tượng DEBUG với mục nhập -DDEBUG.

9

Trong Swift 3:

UIApplication.shared.windows.first?.layer.speed = 0.1 

Hoặc, nếu bạn đang ở bất cứ nơi nào trong appdelegate của bạn và bạn chỉ sử dụng một cửa sổ, bạn có thể làm điều này:

window?.layer.speed = 0.1 
0

Trong Objective-C hoạt động khá tốt

self.window.layer.speed = .1f; 
Các vấn đề liên quan