How to add a fading gradient to NSTextView - objective-c

I have a NSTextView, which is displayed over an NSImageView.
The text view displays lyrics of a song over the artwork.
I would like to apply a little fading gradient at the bottom of the text view.
The background is an image which varies, so I can't just draw a straight gradient.
I guess you could just redraw the image on top of the text view, but this doesn't seem to be a very good solution.
Can anyone tell me how to proceed?

Related

Animate NSTextField Alignment

I'm trying to emulate the functionality of the Safari url text field (using NSTextField). I'd like the current text to be displayed centered, but when the user clicks on it the text should highlight and slide to the left. I've got the highlighting working but I'm not sure how to go about animating the text over to the left. Is it possible to animate the Alignment property or would I need to do some sort of custom drawing where I animate the position that the text is drawn?
Unfortunately this (Is there a way to animate changing a UILabel's textAlignment?) won't work, since a text field draws a background and border so animating the frame isn't an option.

OS X chat app with resizable bubbles

I'm building chat application for Mac OS, similar to iMessage. I wonder, how can I implement resizable text views in bubbles. I mean, when I resize chat window bubbles with text will resize to. Any ideas, links will be very useful. Thank you for help)
For text resizing, you use auto layout. If you have an NSScrollView containing MYBubbleViews containing NSTextViews, you can add NSLayoutConstraints using the leftAnchor and rightAnchor properties of the scroll view's content view and those of the bubble view, and add constraints between all edges of the text view and bubble view. Then pin the bubble views to the top/prev view.
Also make sure you set the NSTextView to wrap. The width of the intrinsic size of the text view will be set so that it fills the width and the intrinsic height will be set to fit the whole text.
I previously thought it was about drawing the bubbles, so I first gave this answer:
If you look at Messages.app, you'll see that they're not circular bubbles. They are basically composed of several shapes overlaid on each other. A rectangle with rounded corners, plus a bezier path of the tip.
So you should be able to take a NSTextView for the text, make it a subview of a custom view that draws a rounded rectangle and the tip in its drawRect method, and then use auto layout constraints to make your bubble view resize with the text view and the text view to the window width.
You could probably also have the bubble view host a CALayer with fill and rounded corners, plus one with an image for the tip (or aCAShapeLayer for the tip), but drawRect is the easier approach.

Crop Image in specific shape Cocos2d

I have an UIImageView* shape which is in fixed position. Behind that view I have another view which I can move, scale and rotate with gestures. I would like when I finish with customising the view behind the "shape" to press a button crop and crop the image. You can see video here of what exactly I am trying to do.
Video: https://www.youtube.com/watch?v=4CTNGire1gQ&feature=youtu.be
You can mask one image with another image to get custom shape image. See tutorial to get some idea about masking
http://www.raywenderlich.com/4421/how-to-mask-a-sprite-with-cocos2d-1-0

Keep text on an image readable while rotating the image

I have an image view that looks like a wheel. This view detects touch events on each of the colored sections.
The problem I have is that when I rotate this wheel, the UILabels on top of the view need to also be rotated so that the text is still horizontal and human readable.
What is the best way to rotate the labels while the parent view is being rotated?
This is what I am trying now and it does not rotate correctly...
CGAffineTransform textTransform = CGAffineTransformRotate(newTransform, newAngle * -1);
Presumably you are applying a rotation transform to rotate the wheel. If the labels are subviews of the wheel view, their centers are pinned in the right places to the wheel (because a view is located in its superview by its center), and they will travel around with it. At the same time, apply the inverse rotation transform to the labels. The rotation takes place around the center of each label. So each label stays in the right place and stays upright.
An afterthought - also make sure you're not using autolayout on these labels. Autolayout breaks view transforms.

NSStatusBar item glow without the glow image on Xcode

How can i make something like this glow on a status bar item?
I know that i can do that with another png, but i have seen some other applications where they only have the black icon of the statusbar, no glow.
How can i do that?
Thanks
Just draw your image with a white drop shadow (some blur radius, no offset) in a custom view. NSShadow makes this very easy to do.