Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 7563209
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 30, 20262026-05-30T13:36:26+00:00 2026-05-30T13:36:26+00:00

I created a custom view class because I wanted to have a status item

  • 0

I created a custom view class because I wanted to have a status item you could drag items to.

Here’s the definition of the view:

@interface DragStatusView : NSImageView <NSMenuDelegate>{
    BOOL highlight;
}
@end

In my ApplicationDelegate.m I instantiate a NSStatusItem, and an instance of my DragStatusView. I set the image on the DragStatusView, and also set its menu to an instance of NSMenu containing a few NSMenuItems.

- (void)applicationDidFinishLaunching:(NSNotification *)notification
{
    // Install icon into the menu bar
    statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];

    NSImage *statusImage = [NSImage imageNamed:@"Status"];
    [statusItem setImage:statusImage];




    [menuItem setTitle:NSLocalizedString(@"Special Status", @"imgur menu item text")];
    CGFloat itemHeight = [[NSStatusBar systemStatusBar] thickness];
    NSRect itemRect = NSMakeRect(0.0, 0.0, NSSquareStatusItemLength, itemHeight);

    DragStatusView* dragView = [[DragStatusView alloc] initWithFrame:itemRect];
    [dragView retain];

    [dragView setImage:statusImage]; 
    [dragView setMenu:menu];

    [statusItem setHighlightMode:YES];
    [statusItem setView:dragView];
}

Here is the method in the DragStatusView controller that triggers the menu to pop up:

- (void)mouseDown:(NSEvent *)event {
    [[[NSApp delegate] statusItem] popUpStatusItemMenu:[self menu]]; // or another method that returns a menu
}

This mostly works, however the menu appears too high when you click on the status item.

How it looks before clicking: https://i.stack.imgur.com/coaQX.png

How it looks after clicking: https://i.stack.imgur.com/AzX3a.png (the menu appears at the top of the screen — ahh!)

How can I make the menu appear at the bottom of the status bar?

Thanks!

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-30T13:36:27+00:00Added an answer on May 30, 2026 at 1:36 pm

    Finally got it working.

    Code can be seen here:

    https://github.com/zbuc/imgurBar/blob/master/imgur/ApplicationDelegate.m
    https://github.com/zbuc/imgurBar/blob/master/imgur/StatusItemView.m

    I’m not quite sure why this code works though, which makes me uncomfortable. It does things with the bounding rects slightly differently but I’m not seeing what exactly makes this work now.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I've created a custom view class and right now just want to draw an
I have created a custom list view, each row has it's own custom selector,
I have created a custom annotation view. In the setSelected method i have implemented
I have created a Dynamic View Panel custom control and want to add a
I have a custom tableview cell created programmatically that consists of: a background view
I have created a custom subclass of UIView for an interface element that I
I have a property on my view model that is a custom class with
In my program I have a custom view object. Inside the view class is
I have created a custom entity because I need to populate an entity with
I have a UITableView with custom cell. I have created seperate class with xib

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.